/*!
 * jQuery UI 1.8.12
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
define(["jquery"], function(jQuery){
    
    (function(b,d){
        function e(f){
            return!b(f).parents().andSelf().filter(function(){
                return b.curCSS(this,"visibility")==="hidden"||b.expr.filters.hidden(this)
            }).length
        }
        b.ui=b.ui||{};
         
        if(!b.ui.version){
            b.extend(b.ui,{
                version:"1.8.12",
                keyCode:{
                    ALT:18,
                    BACKSPACE:8,
                    CAPS_LOCK:20,
                    COMMA:188,
                    COMMAND:91,
                    COMMAND_LEFT:91,
                    COMMAND_RIGHT:93,
                    CONTROL:17,
                    DELETE:46,
                    DOWN:40,
                    END:35,
                    ENTER:13,
                    ESCAPE:27,
                    HOME:36,
                    INSERT:45,
                    LEFT:37,
                    MENU:93,
                    NUMPAD_ADD:107,
                    NUMPAD_DECIMAL:110,
                    NUMPAD_DIVIDE:111,
                    NUMPAD_ENTER:108,
                    NUMPAD_MULTIPLY:106,
                    NUMPAD_SUBTRACT:109,
                    PAGE_DOWN:34,
                    PAGE_UP:33,
                    PERIOD:190,
                    RIGHT:39,
                    SHIFT:16,
                    SPACE:32,
                    TAB:9,
                    UP:38,
                    WINDOWS:91
                }
            });
            b.fn.extend({
                _focus:b.fn.focus,
                focus:function(f,g){
                    return typeof f==="number"?this.each(function(){
                        var a=this;
                        setTimeout(function(){
                            b(a).focus();
                            g&&g.call(a)
                        },f)
                    }):this._focus.apply(this,arguments)
                },
                scrollParent:function(){
                    var f;
                    f=b.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){
                        return/(relative|absolute|fixed)/.test(b.curCSS(this,
                            "position",1))&&/(auto|scroll)/.test(b.curCSS(this,"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))
                    }).eq(0):this.parents().filter(function(){
                        return/(auto|scroll)/.test(b.curCSS(this,"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))
                    }).eq(0);
                    return/fixed/.test(this.css("position"))||!f.length?b(document):f
                },
                zIndex:function(f){
                    if(f!==d)return this.css("zIndex",f);
                    if(this.length){
                        f=b(this[0]);
                        for(var g;f.length&&f[0]!==document;){
                            g=f.css("position");
                            if(g==="absolute"||g==="relative"||g==="fixed"){
                                g=parseInt(f.css("zIndex"),10);
                                if(!isNaN(g)&&g!==0)return g
                            }
                            f=f.parent()
                        }
                    }
                    return 0
                },
                disableSelection:function(){
                    return this.bind((b.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(f){
                        f.preventDefault()
                    })
                },
                enableSelection:function(){
                    return this.unbind(".ui-disableSelection")
                }
            });
            b.each(["Width","Height"],function(f,g){
                function a(j,n,o,l){
                    b.each(c,function(){
                        n-=parseFloat(b.curCSS(j,"padding"+this,true))||0;
                        if(o)n-=parseFloat(b.curCSS(j,
                            "border"+this+"Width",true))||0;
                        if(l)n-=parseFloat(b.curCSS(j,"margin"+this,true))||0
                    });
                    return n
                }
                var c=g==="Width"?["Left","Right"]:["Top","Bottom"],h=g.toLowerCase(),i={
                    innerWidth:b.fn.innerWidth,
                    innerHeight:b.fn.innerHeight,
                    outerWidth:b.fn.outerWidth,
                    outerHeight:b.fn.outerHeight
                };
            
                b.fn["inner"+g]=function(j){
                    if(j===d)return i["inner"+g].call(this);
                    return this.each(function(){
                        b(this).css(h,a(this,j)+"px")
                    })
                };
            
                b.fn["outer"+g]=function(j,n){
                    if(typeof j!=="number")return i["outer"+g].call(this,j);
                    return this.each(function(){
                        b(this).css(h,
                            a(this,j,true,n)+"px")
                    })
                }
            });
            b.extend(b.expr[":"],{
                data:function(f,g,a){
                    return!!b.data(f,a[3])
                },
                focusable:function(f){
                    var g=f.nodeName.toLowerCase(),a=b.attr(f,"tabindex");
                    if("area"===g){
                        g=f.parentNode;
                        a=g.name;
                        if(!f.href||!a||g.nodeName.toLowerCase()!=="map")return false;
                        f=b("img[usemap=#"+a+"]")[0];
                        return!!f&&e(f)
                    }
                    return(/input|select|textarea|button|object/.test(g)?!f.disabled:"a"==g?f.href||!isNaN(a):!isNaN(a))&&e(f)
                },
                tabbable:function(f){
                    var g=b.attr(f,"tabindex");
                    return(isNaN(g)||g>=0)&&b(f).is(":focusable")
                }
            });
            b(function(){
                var f=document.body,g=f.appendChild(g=document.createElement("div"));
                b.extend(g.style,{
                    minHeight:"100px",
                    height:"auto",
                    padding:0,
                    borderWidth:0
                });
                b.support.minHeight=g.offsetHeight===100;
                b.support.selectstart="onselectstart"in g;
                f.removeChild(g).style.display="none"
            });
            b.extend(b.ui,{
                plugin:{
                    add:function(f,g,a){
                        f=b.ui[f].prototype;
                        for(var c in a){
                            f.plugins[c]=f.plugins[c]||[];
                            f.plugins[c].push([g,a[c]])
                        }
                    },
                    call:function(f,g,a){
                        if((g=f.plugins[g])&&f.element[0].parentNode)for(var c=0;c<g.length;c++)f.options[g[c][0]]&&
                            g[c][1].apply(f.element,a)
                    }
                },
                contains:function(f,g){
                    return document.compareDocumentPosition?f.compareDocumentPosition(g)&16:f!==g&&f.contains(g)
                },
                hasScroll:function(f,g){
                    if(b(f).css("overflow")==="hidden")return false;
                    g=g&&g==="left"?"scrollLeft":"scrollTop";
                    var a=false;
                    if(f[g]>0)return true;
                    f[g]=1;
                    a=f[g]>0;
                    f[g]=0;
                    return a
                },
                isOverAxis:function(f,g,a){
                    return f>g&&f<g+a
                },
                isOver:function(f,g,a,c,h,i){
                    return b.ui.isOverAxis(f,a,h)&&b.ui.isOverAxis(g,c,i)
                }
            })
        }
    })(jQuery);
    (function(b,d){
        if(b.cleanData){
            var e=b.cleanData;
            b.cleanData=function(g){
                for(var a=0,c;(c=g[a])!=null;a++)b(c).triggerHandler("remove");
                e(g)
            }
        }else{
            var f=b.fn.remove;
            b.fn.remove=function(g,a){
                return this.each(function(){
                    if(!a)if(!g||b.filter(g,[this]).length)b("*",this).add([this]).each(function(){
                        b(this).triggerHandler("remove")
                    });
                    return f.call(b(this),g,a)
                })
            }
        }
        b.widget=function(g,a,c){
            var h=g.split(".")[0],i;
            g=g.split(".")[1];
            i=h+"-"+g;
            if(!c){
                c=a;
                a=b.Widget
            }
            b.expr[":"][i]=function(j){
                return!!b.data(j,
                    g)
            };
        
            b[h]=b[h]||{};
    
            b[h][g]=function(j,n){
                arguments.length&&this._createWidget(j,n)
            };
        
            a=new a;
            a.options=b.extend(true,{},a.options);
            b[h][g].prototype=b.extend(true,a,{
                namespace:h,
                widgetName:g,
                widgetEventPrefix:b[h][g].prototype.widgetEventPrefix||g,
                widgetBaseClass:i
            },c);
            b.widget.bridge(g,b[h][g])
        };
    
        b.widget.bridge=function(g,a){
            b.fn[g]=function(c){
                var h=typeof c==="string",i=Array.prototype.slice.call(arguments,1),j=this;
                c=!h&&i.length?b.extend.apply(null,[true,c].concat(i)):c;
                if(h&&c.charAt(0)==="_")return j;
                h?this.each(function(){
                    var n=b.data(this,g),o=n&&b.isFunction(n[c])?n[c].apply(n,i):n;
                    if(o!==n&&o!==d){
                        j=o;
                        return false
                    }
                }):this.each(function(){
                    var n=b.data(this,g);
                    n?n.option(c||{})._init():b.data(this,g,new a(c,this))
                });
                return j
            }
        };

        b.Widget=function(g,a){
            arguments.length&&this._createWidget(g,a)
        };
    
        b.Widget.prototype={
            widgetName:"widget",
            widgetEventPrefix:"",
            options:{
                disabled:false
            },
            _createWidget:function(g,a){
                b.data(a,this.widgetName,this);
                this.element=b(a);
                this.options=b.extend(true,{},this.options,
                    this._getCreateOptions(),g);
                var c=this;
                this.element.bind("remove."+this.widgetName,function(){
                    c.destroy()
                });
                this._create();
                this._trigger("create");
                this._init()
            },
            _getCreateOptions:function(){
                return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]
            },
            _create:function(){},
            _init:function(){},
            destroy:function(){
                this.element.unbind("."+this.widgetName).removeData(this.widgetName);
                this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")
            },
            widget:function(){
                return this.element
            },
            option:function(g,a){
                var c=g;
                if(arguments.length===0)return b.extend({},this.options);
                if(typeof g==="string"){
                    if(a===d)return this.options[g];
                    c={};
            
                    c[g]=a
                }
                this._setOptions(c);
                return this
            },
            _setOptions:function(g){
                var a=this;
                b.each(g,function(c,h){
                    a._setOption(c,h)
                });
                return this
            },
            _setOption:function(g,a){
                this.options[g]=a;
                if(g==="disabled")this.widget()[a?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",a);
                return this
            },
            enable:function(){
                return this._setOption("disabled",false)
            },
            disable:function(){
                return this._setOption("disabled",true)
            },
            _trigger:function(g,a,c){
                var h=this.options[g];
                a=b.Event(a);
                a.type=(g===this.widgetEventPrefix?g:this.widgetEventPrefix+g).toLowerCase();
                c=c||{};
        
                if(a.originalEvent){
                    g=b.event.props.length;
                    for(var i;g;){
                        i=b.event.props[--g];
                        a[i]=a.originalEvent[i]
                    }
                }
                this.element.trigger(a,c);
                return!(b.isFunction(h)&&h.call(this.element[0],a,c)===false||a.isDefaultPrevented())
            }
        }
    })(jQuery);
    (function(b){
        b.widget("ui.mouse",{
            options:{
                cancel:":input,option",
                distance:1,
                delay:0
            },
            _mouseInit:function(){
                var d=this;
                this.element.bind("mousedown."+this.widgetName,function(e){
                    return d._mouseDown(e)
                }).bind("click."+this.widgetName,function(e){
                    if(true===b.data(e.target,d.widgetName+".preventClickEvent")){
                        b.removeData(e.target,d.widgetName+".preventClickEvent");
                        e.stopImmediatePropagation();
                        return false
                    }
                });
                this.started=false
            },
            _mouseDestroy:function(){
                this.element.unbind("."+this.widgetName)
            },
            _mouseDown:function(d){
                d.originalEvent=
                d.originalEvent||{};
        
                if(!d.originalEvent.mouseHandled){
                    this._mouseStarted&&this._mouseUp(d);
                    this._mouseDownEvent=d;
                    var e=this,f=d.which==1,g=typeof this.options.cancel=="string"?b(d.target).parents().add(d.target).filter(this.options.cancel).length:false;
                    if(!f||g||!this._mouseCapture(d))return true;
                    this.mouseDelayMet=!this.options.delay;
                    if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){
                        e.mouseDelayMet=true
                    },this.options.delay);
                    if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){
                        this._mouseStarted=
                        this._mouseStart(d)!==false;
                        if(!this._mouseStarted){
                            d.preventDefault();
                            return true
                        }
                    }
                    true===b.data(d.target,this.widgetName+".preventClickEvent")&&b.removeData(d.target,this.widgetName+".preventClickEvent");
                    this._mouseMoveDelegate=function(a){
                        return e._mouseMove(a)
                    };
            
                    this._mouseUpDelegate=function(a){
                        return e._mouseUp(a)
                    };
            
                    b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);
                    d.preventDefault();
                    return d.originalEvent.mouseHandled=
                    true
                }
            },
            _mouseMove:function(d){
                if(b.browser.msie&&!(document.documentMode>=9)&&!d.button)return this._mouseUp(d);
                if(this._mouseStarted){
                    this._mouseDrag(d);
                    return d.preventDefault()
                }
                if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,d)!==false)?this._mouseDrag(d):this._mouseUp(d);
                return!this._mouseStarted
            },
            _mouseUp:function(d){
                b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);
                if(this._mouseStarted){
                    this._mouseStarted=false;
                    d.target==this._mouseDownEvent.target&&b.data(d.target,this.widgetName+".preventClickEvent",true);
                    this._mouseStop(d)
                }
                return false
            },
            _mouseDistanceMet:function(d){
                return Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance
            },
            _mouseDelayMet:function(){
                return this.mouseDelayMet
            },
            _mouseStart:function(){},
            _mouseDrag:function(){},
            _mouseStop:function(){},
            _mouseCapture:function(){
                return true
            }
        })
    })(jQuery);
    (function(b){
        b.widget("ui.draggable",b.ui.mouse,{
            widgetEventPrefix:"drag",
            options:{
                addClasses:true,
                appendTo:"parent",
                axis:false,
                connectToSortable:false,
                containment:false,
                cursor:"auto",
                cursorAt:false,
                grid:false,
                handle:false,
                helper:"original",
                iframeFix:false,
                opacity:false,
                refreshPositions:false,
                revert:false,
                revertDuration:500,
                scope:"default",
                scroll:true,
                scrollSensitivity:20,
                scrollSpeed:20,
                snap:false,
                snapMode:"both",
                snapTolerance:20,
                stack:false,
                zIndex:false
            },
            _create:function(){
                if(this.options.helper==
                    "original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";
                this.options.addClasses&&this.element.addClass("ui-draggable");
                this.options.disabled&&this.element.addClass("ui-draggable-disabled");
                this._mouseInit()
            },
            destroy:function(){
                if(this.element.data("draggable")){
                    this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");
                    this._mouseDestroy();
                    return this
                }
            },
            _mouseCapture:function(d){
                var e=
                this.options;
                if(this.helper||e.disabled||b(d.target).is(".ui-resizable-handle"))return false;
                this.handle=this._getHandle(d);
                if(!this.handle)return false;
                return true
            },
            _mouseStart:function(d){
                var e=this.options;
                this.helper=this._createHelper(d);
                this._cacheHelperProportions();
                if(b.ui.ddmanager)b.ui.ddmanager.current=this;
                this._cacheMargins();
                this.cssPosition=this.helper.css("position");
                this.scrollParent=this.helper.scrollParent();
                this.offset=this.positionAbs=this.element.offset();
                this.offset={
                    top:this.offset.top-
                    this.margins.top,
                    left:this.offset.left-this.margins.left
                };
            
                b.extend(this.offset,{
                    click:{
                        left:d.pageX-this.offset.left,
                        top:d.pageY-this.offset.top
                    },
                    parent:this._getParentOffset(),
                    relative:this._getRelativeOffset()
                });
                this.originalPosition=this.position=this._generatePosition(d);
                this.originalPageX=d.pageX;
                this.originalPageY=d.pageY;
                e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt);
                e.containment&&this._setContainment();
                if(this._trigger("start",d)===false){
                    this._clear();
                    return false
                }
                this._cacheHelperProportions();
                b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,d);
                this.helper.addClass("ui-draggable-dragging");
                this._mouseDrag(d,true);
                return true
            },
            _mouseDrag:function(d,e){
                this.position=this._generatePosition(d);
                this.positionAbs=this._convertPositionTo("absolute");
                if(!e){
                    e=this._uiHash();
                    if(this._trigger("drag",d,e)===false){
                        this._mouseUp({});
                        return false
                    }
                    this.position=e.position
                }
                if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";
                if(!this.options.axis||
                    this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";
                b.ui.ddmanager&&b.ui.ddmanager.drag(this,d);
                return false
            },
            _mouseStop:function(d){
                var e=false;
                if(b.ui.ddmanager&&!this.options.dropBehaviour)e=b.ui.ddmanager.drop(this,d);
                if(this.dropped){
                    e=this.dropped;
                    this.dropped=false
                }
                if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;
                if(this.options.revert=="invalid"&&!e||this.options.revert=="valid"&&e||this.options.revert===true||b.isFunction(this.options.revert)&&
                    this.options.revert.call(this.element,e)){
                    var f=this;
                    b(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){
                        f._trigger("stop",d)!==false&&f._clear()
                    })
                }else this._trigger("stop",d)!==false&&this._clear();
                return false
            },
            cancel:function(){
                this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();
                return this
            },
            _getHandle:function(d){
                var e=!this.options.handle||!b(this.options.handle,this.element).length?true:false;
                b(this.options.handle,this.element).find("*").andSelf().each(function(){
                    if(this==
                        d.target)e=true
                });
                return e
            },
            _createHelper:function(d){
                var e=this.options;
                d=b.isFunction(e.helper)?b(e.helper.apply(this.element[0],[d])):e.helper=="clone"?this.element.clone():this.element;
                d.parents("body").length||d.appendTo(e.appendTo=="parent"?this.element[0].parentNode:e.appendTo);
                d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");
                return d
            },
            _adjustOffsetFromHelper:function(d){
                if(typeof d=="string")d=d.split(" ");
                if(b.isArray(d))d={
                    left:+d[0],
                    top:+d[1]||
                    0
                };
            
                if("left"in d)this.offset.click.left=d.left+this.margins.left;
                if("right"in d)this.offset.click.left=this.helperProportions.width-d.right+this.margins.left;
                if("top"in d)this.offset.click.top=d.top+this.margins.top;
                if("bottom"in d)this.offset.click.top=this.helperProportions.height-d.bottom+this.margins.top
            },
            _getParentOffset:function(){
                this.offsetParent=this.helper.offsetParent();
                var d=this.offsetParent.offset();
                if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],
                    this.offsetParent[0])){
                    d.left+=this.scrollParent.scrollLeft();
                    d.top+=this.scrollParent.scrollTop()
                }
                if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&b.browser.msie)d={
                    top:0,
                    left:0
                };
        
                return{
                    top:d.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
                    left:d.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
                }
            },
            _getRelativeOffset:function(){
                if(this.cssPosition=="relative"){
                    var d=this.element.position();
                    return{
                        top:d.top-
                        (parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
                        left:d.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
                    }
                }else return{
                    top:0,
                    left:0
                }
            },
            _cacheMargins:function(){
                this.margins={
                    left:parseInt(this.element.css("marginLeft"),10)||0,
                    top:parseInt(this.element.css("marginTop"),10)||0,
                    right:parseInt(this.element.css("marginRight"),10)||0,
                    bottom:parseInt(this.element.css("marginBottom"),10)||0
                }
            },
            _cacheHelperProportions:function(){
                this.helperProportions={
                    width:this.helper.outerWidth(),
                    height:this.helper.outerHeight()
                }
            },
            _setContainment:function(){
                var d=this.options;
                if(d.containment=="parent")d.containment=this.helper[0].parentNode;
                if(d.containment=="document"||d.containment=="window")this.containment=[(d.containment=="document"?0:b(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(d.containment=="document"?0:b(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(d.containment=="document"?0:b(window).scrollLeft())+b(d.containment=="document"?
                    document:window).width()-this.helperProportions.width-this.margins.left,(d.containment=="document"?0:b(window).scrollTop())+(b(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];
                if(!/^(document|window|parent)$/.test(d.containment)&&d.containment.constructor!=Array){
                    var e=b(d.containment)[0];
                    if(e){
                        d=b(d.containment).offset();
                        var f=b(e).css("overflow")!="hidden";
                        this.containment=[d.left+(parseInt(b(e).css("borderLeftWidth"),
                            10)||0)+(parseInt(b(e).css("paddingLeft"),10)||0),d.top+(parseInt(b(e).css("borderTopWidth"),10)||0)+(parseInt(b(e).css("paddingTop"),10)||0),d.left+(f?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(b(e).css("borderLeftWidth"),10)||0)-(parseInt(b(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,d.top+(f?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(b(e).css("borderTopWidth"),10)||0)-(parseInt(b(e).css("paddingBottom"),
                            10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]
                    }
                }else if(d.containment.constructor==Array)this.containment=d.containment
            },
            _convertPositionTo:function(d,e){
                if(!e)e=this.position;
                d=d=="absolute"?1:-1;
                var f=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);
                return{
                    top:e.top+this.offset.relative.top*d+this.offset.parent.top*d-(b.browser.safari&&
                        b.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),
                    left:e.left+this.offset.relative.left*d+this.offset.parent.left*d-(b.browser.safari&&b.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)
                }
            },
            _generatePosition:function(d){
                var e=this.options,f=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],
                    this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName),a=d.pageX,c=d.pageY;
                if(this.originalPosition){
                    if(this.containment){
                        if(d.pageX-this.offset.click.left<this.containment[0])a=this.containment[0]+this.offset.click.left;
                        if(d.pageY-this.offset.click.top<this.containment[1])c=this.containment[1]+this.offset.click.top;
                        if(d.pageX-this.offset.click.left>this.containment[2])a=this.containment[2]+this.offset.click.left;
                        if(d.pageY-this.offset.click.top>this.containment[3])c=
                            this.containment[3]+this.offset.click.top
                    }
                    if(e.grid){
                        c=this.originalPageY+Math.round((c-this.originalPageY)/e.grid[1])*e.grid[1];
                        c=this.containment?!(c-this.offset.click.top<this.containment[1]||c-this.offset.click.top>this.containment[3])?c:!(c-this.offset.click.top<this.containment[1])?c-e.grid[1]:c+e.grid[1]:c;
                        a=this.originalPageX+Math.round((a-this.originalPageX)/e.grid[0])*e.grid[0];
                        a=this.containment?!(a-this.offset.click.left<this.containment[0]||a-this.offset.click.left>this.containment[2])?
                        a:!(a-this.offset.click.left<this.containment[0])?a-e.grid[0]:a+e.grid[0]:a
                    }
                }
                return{
                    top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(b.browser.safari&&b.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop()),
                    left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(b.browser.safari&&b.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
                        g?0:f.scrollLeft())
                }
            },
            _clear:function(){
                this.helper.removeClass("ui-draggable-dragging");
                this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();
                this.helper=null;
                this.cancelHelperRemoval=false
            },
            _trigger:function(d,e,f){
                f=f||this._uiHash();
                b.ui.plugin.call(this,d,[e,f]);
                if(d=="drag")this.positionAbs=this._convertPositionTo("absolute");
                return b.Widget.prototype._trigger.call(this,d,e,f)
            },
            plugins:{},
            _uiHash:function(){
                return{
                    helper:this.helper,
                    position:this.position,
                    originalPosition:this.originalPosition,
                    offset:this.positionAbs
                }
            }
        });
        b.extend(b.ui.draggable,{
            version:"1.8.12"
        });
        b.ui.plugin.add("draggable","connectToSortable",{
            start:function(d,e){
                var f=b(this).data("draggable"),g=f.options,a=b.extend({},e,{
                    item:f.element
                });
                f.sortables=[];
                b(g.connectToSortable).each(function(){
                    var c=b.data(this,"sortable");
                    if(c&&!c.options.disabled){
                        f.sortables.push({
                            instance:c,
                            shouldRevert:c.options.revert
                        });
                        c.refreshPositions();
                        c._trigger("activate",d,a)
                    }
                })
            },
            stop:function(d,e){
                var f=b(this).data("draggable"),g=b.extend({},
                    e,{
                        item:f.element
                    });
                b.each(f.sortables,function(){
                    if(this.instance.isOver){
                        this.instance.isOver=0;
                        f.cancelHelperRemoval=true;
                        this.instance.cancelHelperRemoval=false;
                        if(this.shouldRevert)this.instance.options.revert=true;
                        this.instance._mouseStop(d);
                        this.instance.options.helper=this.instance.options._helper;
                        f.options.helper=="original"&&this.instance.currentItem.css({
                            top:"auto",
                            left:"auto"
                        })
                    }else{
                        this.instance.cancelHelperRemoval=false;
                        this.instance._trigger("deactivate",d,g)
                    }
                })
            },
            drag:function(d,e){
                var f=
                b(this).data("draggable"),g=this;
                b.each(f.sortables,function(){
                    this.instance.positionAbs=f.positionAbs;
                    this.instance.helperProportions=f.helperProportions;
                    this.instance.offset.click=f.offset.click;
                    if(this.instance._intersectsWith(this.instance.containerCache)){
                        if(!this.instance.isOver){
                            this.instance.isOver=1;
                            this.instance.currentItem=b(g).clone().appendTo(this.instance.element).data("sortable-item",true);
                            this.instance.options._helper=this.instance.options.helper;
                            this.instance.options.helper=function(){
                                return e.helper[0]
                            };
                            d.target=this.instance.currentItem[0];
                            this.instance._mouseCapture(d,true);
                            this.instance._mouseStart(d,true,true);
                            this.instance.offset.click.top=f.offset.click.top;
                            this.instance.offset.click.left=f.offset.click.left;
                            this.instance.offset.parent.left-=f.offset.parent.left-this.instance.offset.parent.left;
                            this.instance.offset.parent.top-=f.offset.parent.top-this.instance.offset.parent.top;
                            f._trigger("toSortable",d);
                            f.dropped=this.instance.element;
                            f.currentItem=f.element;
                            this.instance.fromOutside=f
                        }
                        this.instance.currentItem&&
                        this.instance._mouseDrag(d)
                    }else if(this.instance.isOver){
                        this.instance.isOver=0;
                        this.instance.cancelHelperRemoval=true;
                        this.instance.options.revert=false;
                        this.instance._trigger("out",d,this.instance._uiHash(this.instance));
                        this.instance._mouseStop(d,true);
                        this.instance.options.helper=this.instance.options._helper;
                        this.instance.currentItem.remove();
                        this.instance.placeholder&&this.instance.placeholder.remove();
                        f._trigger("fromSortable",d);
                        f.dropped=false
                    }
                })
            }
        });
        b.ui.plugin.add("draggable","cursor",

        {
                start:function(){
                    var d=b("body"),e=b(this).data("draggable").options;
                    if(d.css("cursor"))e._cursor=d.css("cursor");
                    d.css("cursor",e.cursor)
                },
                stop:function(){
                    var d=b(this).data("draggable").options;
                    d._cursor&&b("body").css("cursor",d._cursor)
                }
            });
        b.ui.plugin.add("draggable","iframeFix",{
            start:function(){
                var d=b(this).data("draggable").options;
                b(d.iframeFix===true?"iframe":d.iframeFix).each(function(){
                    b('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({
                        width:this.offsetWidth+
                        "px",
                        height:this.offsetHeight+"px",
                        position:"absolute",
                        opacity:"0.001",
                        zIndex:1E3
                    }).css(b(this).offset()).appendTo("body")
                })
            },
            stop:function(){
                b("div.ui-draggable-iframeFix").each(function(){
                    this.parentNode.removeChild(this)
                })
            }
        });
        b.ui.plugin.add("draggable","opacity",{
            start:function(d,e){
                d=b(e.helper);
                e=b(this).data("draggable").options;
                if(d.css("opacity"))e._opacity=d.css("opacity");
                d.css("opacity",e.opacity)
            },
            stop:function(d,e){
                d=b(this).data("draggable").options;
                d._opacity&&b(e.helper).css("opacity",
                    d._opacity)
            }
        });
        b.ui.plugin.add("draggable","scroll",{
            start:function(){
                var d=b(this).data("draggable");
                if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML")d.overflowOffset=d.scrollParent.offset()
            },
            drag:function(d){
                var e=b(this).data("draggable"),f=e.options,g=false;
                if(e.scrollParent[0]!=document&&e.scrollParent[0].tagName!="HTML"){
                    if(!f.axis||f.axis!="x")if(e.overflowOffset.top+e.scrollParent[0].offsetHeight-d.pageY<f.scrollSensitivity)e.scrollParent[0].scrollTop=g=e.scrollParent[0].scrollTop+
                        f.scrollSpeed;
                    else if(d.pageY-e.overflowOffset.top<f.scrollSensitivity)e.scrollParent[0].scrollTop=g=e.scrollParent[0].scrollTop-f.scrollSpeed;
                    if(!f.axis||f.axis!="y")if(e.overflowOffset.left+e.scrollParent[0].offsetWidth-d.pageX<f.scrollSensitivity)e.scrollParent[0].scrollLeft=g=e.scrollParent[0].scrollLeft+f.scrollSpeed;
                        else if(d.pageX-e.overflowOffset.left<f.scrollSensitivity)e.scrollParent[0].scrollLeft=g=e.scrollParent[0].scrollLeft-f.scrollSpeed
                }else{
                    if(!f.axis||f.axis!="x")if(d.pageY-b(document).scrollTop()<
                        f.scrollSensitivity)g=b(document).scrollTop(b(document).scrollTop()-f.scrollSpeed);
                        else if(b(window).height()-(d.pageY-b(document).scrollTop())<f.scrollSensitivity)g=b(document).scrollTop(b(document).scrollTop()+f.scrollSpeed);
                    if(!f.axis||f.axis!="y")if(d.pageX-b(document).scrollLeft()<f.scrollSensitivity)g=b(document).scrollLeft(b(document).scrollLeft()-f.scrollSpeed);
                        else if(b(window).width()-(d.pageX-b(document).scrollLeft())<f.scrollSensitivity)g=b(document).scrollLeft(b(document).scrollLeft()+
                            f.scrollSpeed)
                }
                g!==false&&b.ui.ddmanager&&!f.dropBehaviour&&b.ui.ddmanager.prepareOffsets(e,d)
            }
        });
        b.ui.plugin.add("draggable","snap",{
            start:function(){
                var d=b(this).data("draggable"),e=d.options;
                d.snapElements=[];
                b(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){
                    var f=b(this),g=f.offset();
                    this!=d.element[0]&&d.snapElements.push({
                        item:this,
                        width:f.outerWidth(),
                        height:f.outerHeight(),
                        top:g.top,
                        left:g.left
                    })
                })
            },
            drag:function(d,e){
                for(var f=b(this).data("draggable"),
                    g=f.options,a=g.snapTolerance,c=e.offset.left,h=c+f.helperProportions.width,i=e.offset.top,j=i+f.helperProportions.height,n=f.snapElements.length-1;n>=0;n--){
                    var o=f.snapElements[n].left,l=o+f.snapElements[n].width,k=f.snapElements[n].top,m=k+f.snapElements[n].height;
                    if(o-a<c&&c<l+a&&k-a<i&&i<m+a||o-a<c&&c<l+a&&k-a<j&&j<m+a||o-a<h&&h<l+a&&k-a<i&&i<m+a||o-a<h&&h<l+a&&k-a<j&&j<m+a){
                        if(g.snapMode!="inner"){
                            var p=Math.abs(k-j)<=a,q=Math.abs(m-i)<=a,s=Math.abs(o-h)<=a,r=Math.abs(l-c)<=a;
                            if(p)e.position.top=
                                f._convertPositionTo("relative",{
                                    top:k-f.helperProportions.height,
                                    left:0
                                }).top-f.margins.top;
                            if(q)e.position.top=f._convertPositionTo("relative",{
                                top:m,
                                left:0
                            }).top-f.margins.top;
                            if(s)e.position.left=f._convertPositionTo("relative",{
                                top:0,
                                left:o-f.helperProportions.width
                            }).left-f.margins.left;
                            if(r)e.position.left=f._convertPositionTo("relative",{
                                top:0,
                                left:l
                            }).left-f.margins.left
                        }
                        var u=p||q||s||r;
                        if(g.snapMode!="outer"){
                            p=Math.abs(k-i)<=a;
                            q=Math.abs(m-j)<=a;
                            s=Math.abs(o-c)<=a;
                            r=Math.abs(l-h)<=a;
                            if(p)e.position.top=
                                f._convertPositionTo("relative",{
                                    top:k,
                                    left:0
                                }).top-f.margins.top;
                            if(q)e.position.top=f._convertPositionTo("relative",{
                                top:m-f.helperProportions.height,
                                left:0
                            }).top-f.margins.top;
                            if(s)e.position.left=f._convertPositionTo("relative",{
                                top:0,
                                left:o
                            }).left-f.margins.left;
                            if(r)e.position.left=f._convertPositionTo("relative",{
                                top:0,
                                left:l-f.helperProportions.width
                            }).left-f.margins.left
                        }
                        if(!f.snapElements[n].snapping&&(p||q||s||r||u))f.options.snap.snap&&f.options.snap.snap.call(f.element,d,b.extend(f._uiHash(),

                        {
                                snapItem:f.snapElements[n].item
                            }));
                        f.snapElements[n].snapping=p||q||s||r||u
                    }else{
                        f.snapElements[n].snapping&&f.options.snap.release&&f.options.snap.release.call(f.element,d,b.extend(f._uiHash(),{
                            snapItem:f.snapElements[n].item
                        }));
                        f.snapElements[n].snapping=false
                    }
                }
            }
        });
        b.ui.plugin.add("draggable","stack",{
            start:function(){
                var d=b(this).data("draggable").options;
                d=b.makeArray(b(d.stack)).sort(function(f,g){
                    return(parseInt(b(f).css("zIndex"),10)||0)-(parseInt(b(g).css("zIndex"),10)||0)
                });
                if(d.length){
                    var e=
                    parseInt(d[0].style.zIndex)||0;
                    b(d).each(function(f){
                        this.style.zIndex=e+f
                    });
                    this[0].style.zIndex=e+d.length
                }
            }
        });
        b.ui.plugin.add("draggable","zIndex",{
            start:function(d,e){
                d=b(e.helper);
                e=b(this).data("draggable").options;
                if(d.css("zIndex"))e._zIndex=d.css("zIndex");
                d.css("zIndex",e.zIndex)
            },
            stop:function(d,e){
                d=b(this).data("draggable").options;
                d._zIndex&&b(e.helper).css("zIndex",d._zIndex)
            }
        })
    })(jQuery);
    (function(b){
        b.widget("ui.droppable",{
            widgetEventPrefix:"drop",
            options:{
                accept:"*",
                activeClass:false,
                addClasses:true,
                greedy:false,
                hoverClass:false,
                scope:"default",
                tolerance:"intersect"
            },
            _create:function(){
                var d=this.options,e=d.accept;
                this.isover=0;
                this.isout=1;
                this.accept=b.isFunction(e)?e:function(f){
                    return f.is(e)
                };
                
                this.proportions={
                    width:this.element[0].offsetWidth,
                    height:this.element[0].offsetHeight
                };
                
                b.ui.ddmanager.droppables[d.scope]=b.ui.ddmanager.droppables[d.scope]||[];
                b.ui.ddmanager.droppables[d.scope].push(this);
                d.addClasses&&this.element.addClass("ui-droppable")
            },
            destroy:function(){
                for(var d=b.ui.ddmanager.droppables[this.options.scope],e=0;e<d.length;e++)d[e]==this&&d.splice(e,1);
                this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");
                return this
            },
            _setOption:function(d,e){
                if(d=="accept")this.accept=b.isFunction(e)?e:function(f){
                    return f.is(e)
                };
                
                b.Widget.prototype._setOption.apply(this,arguments)
            },
            _activate:function(d){
                var e=b.ui.ddmanager.current;
                this.options.activeClass&&
                this.element.addClass(this.options.activeClass);
                e&&this._trigger("activate",d,this.ui(e))
            },
            _deactivate:function(d){
                var e=b.ui.ddmanager.current;
                this.options.activeClass&&this.element.removeClass(this.options.activeClass);
                e&&this._trigger("deactivate",d,this.ui(e))
            },
            _over:function(d){
                var e=b.ui.ddmanager.current;
                if(!(!e||(e.currentItem||e.element)[0]==this.element[0]))if(this.accept.call(this.element[0],e.currentItem||e.element)){
                    this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
                    this._trigger("over",d,this.ui(e))
                }
            },
            _out:function(d){
                var e=b.ui.ddmanager.current;
                if(!(!e||(e.currentItem||e.element)[0]==this.element[0]))if(this.accept.call(this.element[0],e.currentItem||e.element)){
                    this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);
                    this._trigger("out",d,this.ui(e))
                }
            },
            _drop:function(d,e){
                var f=e||b.ui.ddmanager.current;
                if(!f||(f.currentItem||f.element)[0]==this.element[0])return false;
                var g=false;
                this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){
                    var a=
                    b.data(this,"droppable");
                    if(a.options.greedy&&!a.options.disabled&&a.options.scope==f.options.scope&&a.accept.call(a.element[0],f.currentItem||f.element)&&b.ui.intersect(f,b.extend(a,{
                        offset:a.element.offset()
                    }),a.options.tolerance)){
                        g=true;
                        return false
                    }
                });
                if(g)return false;
                if(this.accept.call(this.element[0],f.currentItem||f.element)){
                    this.options.activeClass&&this.element.removeClass(this.options.activeClass);
                    this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);
                    this._trigger("drop",
                        d,this.ui(f));
                    return this.element
                }
                return false
            },
            ui:function(d){
                return{
                    draggable:d.currentItem||d.element,
                    helper:d.helper,
                    position:d.position,
                    offset:d.positionAbs
                }
            }
        });
        b.extend(b.ui.droppable,{
            version:"1.8.12"
        });
        b.ui.intersect=function(d,e,f){
            if(!e.offset)return false;
            var g=(d.positionAbs||d.position.absolute).left,a=g+d.helperProportions.width,c=(d.positionAbs||d.position.absolute).top,h=c+d.helperProportions.height,i=e.offset.left,j=i+e.proportions.width,n=e.offset.top,o=n+e.proportions.height;
            switch(f){
                case "fit":
                    return i<=g&&a<=j&&n<=c&&h<=o;
                case "intersect":
                    return i<g+d.helperProportions.width/2&&a-d.helperProportions.width/2<j&&n<c+d.helperProportions.height/2&&h-d.helperProportions.height/2<o;
                case "pointer":
                    return b.ui.isOver((d.positionAbs||d.position.absolute).top+(d.clickOffset||d.offset.click).top,(d.positionAbs||d.position.absolute).left+(d.clickOffset||d.offset.click).left,n,i,e.proportions.height,e.proportions.width);
                case "touch":
                    return(c>=n&&c<=o||h>=n&&h<=o||c<n&&h>o)&&(g>=
                        i&&g<=j||a>=i&&a<=j||g<i&&a>j);
                default:
                    return false
            }
        };

        b.ui.ddmanager={
            current:null,
            droppables:{
                "default":[]
            },
            prepareOffsets:function(d,e){
                var f=b.ui.ddmanager.droppables[d.options.scope]||[],g=e?e.type:null,a=(d.currentItem||d.element).find(":data(droppable)").andSelf(),c=0;
                    a:for(;c<f.length;c++)if(!(f[c].options.disabled||d&&!f[c].accept.call(f[c].element[0],d.currentItem||d.element))){
                        for(var h=0;h<a.length;h++)if(a[h]==f[c].element[0]){
                            f[c].proportions.height=0;
                            continue a
                        }
                        f[c].visible=f[c].element.css("display")!=
                        "none";
                        if(f[c].visible){
                            g=="mousedown"&&f[c]._activate.call(f[c],e);
                            f[c].offset=f[c].element.offset();
                            f[c].proportions={
                                width:f[c].element[0].offsetWidth,
                                height:f[c].element[0].offsetHeight
                            }
                        }
                    }
            },
            drop:function(d,e){
                var f=false;
                b.each(b.ui.ddmanager.droppables[d.options.scope]||[],function(){
                    if(this.options){
                        if(!this.options.disabled&&this.visible&&b.ui.intersect(d,this,this.options.tolerance))f=f||this._drop.call(this,e);
                        if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],d.currentItem||
                            d.element)){
                            this.isout=1;
                            this.isover=0;
                            this._deactivate.call(this,e)
                        }
                    }
                });
                return f
            },
            drag:function(d,e){
                d.options.refreshPositions&&b.ui.ddmanager.prepareOffsets(d,e);
                b.each(b.ui.ddmanager.droppables[d.options.scope]||[],function(){
                    if(!(this.options.disabled||this.greedyChild||!this.visible)){
                        var f=b.ui.intersect(d,this,this.options.tolerance);
                        if(f=!f&&this.isover==1?"isout":f&&this.isover==0?"isover":null){
                            var g;
                            if(this.options.greedy){
                                var a=this.element.parents(":data(droppable):eq(0)");
                                if(a.length){
                                    g=
                                    b.data(a[0],"droppable");
                                    g.greedyChild=f=="isover"?1:0
                                }
                            }
                            if(g&&f=="isover"){
                                g.isover=0;
                                g.isout=1;
                                g._out.call(g,e)
                            }
                            this[f]=1;
                            this[f=="isout"?"isover":"isout"]=0;
                            this[f=="isover"?"_over":"_out"].call(this,e);
                            if(g&&f=="isout"){
                                g.isout=0;
                                g.isover=1;
                                g._over.call(g,e)
                            }
                        }
                    }
                })
            }
        }
    })(jQuery);
    (function(b){
        b.widget("ui.resizable",b.ui.mouse,{
            widgetEventPrefix:"resize",
            options:{
                alsoResize:false,
                animate:false,
                animateDuration:"slow",
                animateEasing:"swing",
                aspectRatio:false,
                autoHide:false,
                containment:false,
                ghost:false,
                grid:false,
                handles:"e,s,se",
                helper:false,
                maxHeight:null,
                maxWidth:null,
                minHeight:10,
                minWidth:10,
                zIndex:1E3
            },
            _create:function(){
                var f=this,g=this.options;
                this.element.addClass("ui-resizable");
                b.extend(this,{
                    _aspectRatio:!!g.aspectRatio,
                    aspectRatio:g.aspectRatio,
                    originalElement:this.element,
                    _proportionallyResizeElements:[],
                    _helper:g.helper||g.ghost||g.animate?g.helper||"ui-resizable-helper":null
                });
                if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){
                    /relative/.test(this.element.css("position"))&&b.browser.opera&&this.element.css({
                        position:"relative",
                        top:"auto",
                        left:"auto"
                    });
                    this.element.wrap(b('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
                        position:this.element.css("position"),
                        width:this.element.outerWidth(),
                        height:this.element.outerHeight(),
                        top:this.element.css("top"),
                        left:this.element.css("left")
                    }));
                    this.element=this.element.parent().data("resizable",this.element.data("resizable"));
                    this.elementIsWrapper=true;
                    this.element.css({
                        marginLeft:this.originalElement.css("marginLeft"),
                        marginTop:this.originalElement.css("marginTop"),
                        marginRight:this.originalElement.css("marginRight"),
                        marginBottom:this.originalElement.css("marginBottom")
                    });
                    this.originalElement.css({
                        marginLeft:0,
                        marginTop:0,
                        marginRight:0,
                        marginBottom:0
                    });
                    this.originalResizeStyle=
                    this.originalElement.css("resize");
                    this.originalElement.css("resize","none");
                    this._proportionallyResizeElements.push(this.originalElement.css({
                        position:"static",
                        zoom:1,
                        display:"block"
                    }));
                    this.originalElement.css({
                        margin:this.originalElement.css("margin")
                    });
                    this._proportionallyResize()
                }
                this.handles=g.handles||(!b(".ui-resizable-handle",this.element).length?"e,s,se":{
                    n:".ui-resizable-n",
                    e:".ui-resizable-e",
                    s:".ui-resizable-s",
                    w:".ui-resizable-w",
                    se:".ui-resizable-se",
                    sw:".ui-resizable-sw",
                    ne:".ui-resizable-ne",
                    nw:".ui-resizable-nw"
                });
                if(this.handles.constructor==String){
                    if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";
                    var a=this.handles.split(",");
                    this.handles={};
                
                    for(var c=0;c<a.length;c++){
                        var h=b.trim(a[c]),i=b('<div class="ui-resizable-handle '+("ui-resizable-"+h)+'"></div>');
                        /sw|se|ne|nw/.test(h)&&i.css({
                            zIndex:++g.zIndex
                        });
                        "se"==h&&i.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
                        this.handles[h]=".ui-resizable-"+h;
                        this.element.append(i)
                    }
                }
                this._renderAxis=function(j){
                    j=j||this.element;
                    for(var n in this.handles){
                        if(this.handles[n].constructor==
                            String)this.handles[n]=b(this.handles[n],this.element).show();
                        if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){
                            var o=b(this.handles[n],this.element),l=0;
                            l=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();
                            o=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");
                            j.css(o,l);
                            this._proportionallyResize()
                        }
                        b(this.handles[n])
                    }
                };
            
                this._renderAxis(this.element);
                this._handles=b(".ui-resizable-handle",this.element).disableSelection();
                this._handles.mouseover(function(){
                    if(!f.resizing){
                        if(this.className)var j=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
                        f.axis=j&&j[1]?j[1]:"se"
                    }
                });
                if(g.autoHide){
                    this._handles.hide();
                    b(this.element).addClass("ui-resizable-autohide").hover(function(){
                        b(this).removeClass("ui-resizable-autohide");
                        f._handles.show()
                    },function(){
                        if(!f.resizing){
                            b(this).addClass("ui-resizable-autohide");
                            f._handles.hide()
                        }
                    })
                }
                this._mouseInit()
            },
            destroy:function(){
                this._mouseDestroy();
                var f=function(a){
                    b(a).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()
                };
                if(this.elementIsWrapper){
                    f(this.element);
                    var g=this.element;
                    g.after(this.originalElement.css({
                        position:g.css("position"),
                        width:g.outerWidth(),
                        height:g.outerHeight(),
                        top:g.css("top"),
                        left:g.css("left")
                    })).remove()
                }
                this.originalElement.css("resize",this.originalResizeStyle);
                f(this.originalElement);
                return this
            },
            _mouseCapture:function(f){
                var g=false;
                for(var a in this.handles)if(b(this.handles[a])[0]==f.target)g=true;return!this.options.disabled&&g
            },
            _mouseStart:function(f){
                var g=this.options,a=this.element.position(),
                c=this.element;
                this.resizing=true;
                this.documentScroll={
                    top:b(document).scrollTop(),
                    left:b(document).scrollLeft()
                };
        
                if(c.is(".ui-draggable")||/absolute/.test(c.css("position")))c.css({
                    position:"absolute",
                    top:a.top,
                    left:a.left
                });
                b.browser.opera&&/relative/.test(c.css("position"))&&c.css({
                    position:"relative",
                    top:"auto",
                    left:"auto"
                });
                this._renderProxy();
                a=d(this.helper.css("left"));
                var h=d(this.helper.css("top"));
                if(g.containment){
                    a+=b(g.containment).scrollLeft()||0;
                    h+=b(g.containment).scrollTop()||0
                }
                this.offset=
                this.helper.offset();
                this.position={
                    left:a,
                    top:h
                };
    
                this.size=this._helper?{
                    width:c.outerWidth(),
                    height:c.outerHeight()
                }:{
                    width:c.width(),
                    height:c.height()
                };
        
                this.originalSize=this._helper?{
                    width:c.outerWidth(),
                    height:c.outerHeight()
                }:{
                    width:c.width(),
                    height:c.height()
                };
        
                this.originalPosition={
                    left:a,
                    top:h
                };
    
                this.sizeDiff={
                    width:c.outerWidth()-c.width(),
                    height:c.outerHeight()-c.height()
                };
        
                this.originalMousePosition={
                    left:f.pageX,
                    top:f.pageY
                };
        
                this.aspectRatio=typeof g.aspectRatio=="number"?g.aspectRatio:
                this.originalSize.width/this.originalSize.height||1;
                g=b(".ui-resizable-"+this.axis).css("cursor");
                b("body").css("cursor",g=="auto"?this.axis+"-resize":g);
                c.addClass("ui-resizable-resizing");
                this._propagate("start",f);
                return true
            },
            _mouseDrag:function(f){
                var g=this.helper,a=this.originalMousePosition,c=this._change[this.axis];
                if(!c)return false;
                a=c.apply(this,[f,f.pageX-a.left||0,f.pageY-a.top||0]);
                if(this._aspectRatio||f.shiftKey)a=this._updateRatio(a,f);
                a=this._respectSize(a,f);
                this._propagate("resize",
                    f);
                g.css({
                    top:this.position.top+"px",
                    left:this.position.left+"px",
                    width:this.size.width+"px",
                    height:this.size.height+"px"
                });
                !this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();
                this._updateCache(a);
                this._trigger("resize",f,this.ui());
                return false
            },
            _mouseStop:function(f){
                this.resizing=false;
                var g=this.options,a=this;
                if(this._helper){
                    var c=this._proportionallyResizeElements,h=c.length&&/textarea/i.test(c[0].nodeName);
                    c=h&&b.ui.hasScroll(c[0],"left")?0:a.sizeDiff.height;
                    h=h?0:a.sizeDiff.width;
                    h={
                        width:a.helper.width()-h,
                        height:a.helper.height()-c
                    };
            
                    c=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;
                    var i=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;
                    g.animate||this.element.css(b.extend(h,{
                        top:i,
                        left:c
                    }));
                    a.helper.height(a.size.height);
                    a.helper.width(a.size.width);
                    this._helper&&!g.animate&&this._proportionallyResize()
                }
                b("body").css("cursor","auto");
                this.element.removeClass("ui-resizable-resizing");
                this._propagate("stop",f);
                this._helper&&this.helper.remove();
                return false
            },
            _updateCache:function(f){
                this.offset=this.helper.offset();
                if(e(f.left))this.position.left=f.left;
                if(e(f.top))this.position.top=f.top;
                if(e(f.height))this.size.height=f.height;
                if(e(f.width))this.size.width=f.width
            },
            _updateRatio:function(f){
                var g=this.position,a=this.size,c=this.axis;
                if(f.height)f.width=a.height*this.aspectRatio;
                else if(f.width)f.height=a.width/this.aspectRatio;
                if(c=="sw"){
                    f.left=g.left+(a.width-f.width);
                    f.top=
                    null
                }
                if(c=="nw"){
                    f.top=g.top+(a.height-f.height);
                    f.left=g.left+(a.width-f.width)
                }
                return f
            },
            _respectSize:function(f){
                var g=this.options,a=this.axis,c=e(f.width)&&g.maxWidth&&g.maxWidth<f.width,h=e(f.height)&&g.maxHeight&&g.maxHeight<f.height,i=e(f.width)&&g.minWidth&&g.minWidth>f.width,j=e(f.height)&&g.minHeight&&g.minHeight>f.height;
                if(i)f.width=g.minWidth;
                if(j)f.height=g.minHeight;
                if(c)f.width=g.maxWidth;
                if(h)f.height=g.maxHeight;
                var n=this.originalPosition.left+this.originalSize.width,o=this.position.top+
                this.size.height,l=/sw|nw|w/.test(a);
                a=/nw|ne|n/.test(a);
                if(i&&l)f.left=n-g.minWidth;
                if(c&&l)f.left=n-g.maxWidth;
                if(j&&a)f.top=o-g.minHeight;
                if(h&&a)f.top=o-g.maxHeight;
                if((g=!f.width&&!f.height)&&!f.left&&f.top)f.top=null;
                else if(g&&!f.top&&f.left)f.left=null;
                return f
            },
            _proportionallyResize:function(){
                if(this._proportionallyResizeElements.length)for(var f=this.helper||this.element,g=0;g<this._proportionallyResizeElements.length;g++){
                    var a=this._proportionallyResizeElements[g];
                    if(!this.borderDif){
                        var c=
                        [a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],h=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];
                        this.borderDif=b.map(c,function(i,j){
                            i=parseInt(i,10)||0;
                            j=parseInt(h[j],10)||0;
                            return i+j
                        })
                    }
                    b.browser.msie&&(b(f).is(":hidden")||b(f).parents(":hidden").length)||a.css({
                        height:f.height()-this.borderDif[0]-this.borderDif[2]||0,
                        width:f.width()-this.borderDif[1]-this.borderDif[3]||0
                    })
                }
            },
            _renderProxy:function(){
                var f=
                this.options;
                this.elementOffset=this.element.offset();
                if(this._helper){
                    this.helper=this.helper||b('<div style="overflow:hidden;"></div>');
                    var g=b.browser.msie&&b.browser.version<7,a=g?1:0;
                    g=g?2:-1;
                    this.helper.addClass(this._helper).css({
                        width:this.element.outerWidth()+g,
                        height:this.element.outerHeight()+g,
                        position:"absolute",
                        left:this.elementOffset.left-a+"px",
                        top:this.elementOffset.top-a+"px",
                        zIndex:++f.zIndex
                    });
                    this.helper.appendTo("body").disableSelection()
                }else this.helper=this.element
            },
            _change:{
                e:function(f,
                    g){
                    return{
                        width:this.originalSize.width+g
                    }
                },
                w:function(f,g){
                    return{
                        left:this.originalPosition.left+g,
                        width:this.originalSize.width-g
                    }
                },
                n:function(f,g,a){
                    return{
                        top:this.originalPosition.top+a,
                        height:this.originalSize.height-a
                    }
                },
                s:function(f,g,a){
                    return{
                        height:this.originalSize.height+a
                    }
                },
                se:function(f,g,a){
                    return b.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,g,a]))
                },
                sw:function(f,g,a){
                    return b.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,g,
                        a]))
                },
                ne:function(f,g,a){
                    return b.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,g,a]))
                },
                nw:function(f,g,a){
                    return b.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,g,a]))
                }
            },
            _propagate:function(f,g){
                b.ui.plugin.call(this,f,[g,this.ui()]);
                f!="resize"&&this._trigger(f,g,this.ui())
            },
            plugins:{},
            ui:function(){
                return{
                    originalElement:this.originalElement,
                    element:this.element,
                    helper:this.helper,
                    position:this.position,
                    size:this.size,
                    originalSize:this.originalSize,
                    originalPosition:this.originalPosition
                }
            }
        });
        b.extend(b.ui.resizable,{
            version:"1.8.12"
        });
        b.ui.plugin.add("resizable","alsoResize",{
            start:function(){
                var f=b(this).data("resizable").options,g=function(a){
                    b(a).each(function(){
                        var c=b(this);
                        c.data("resizable-alsoresize",{
                            width:parseInt(c.width(),10),
                            height:parseInt(c.height(),10),
                            left:parseInt(c.css("left"),10),
                            top:parseInt(c.css("top"),10),
                            position:c.css("position")
                        })
                    })
                };
            
                if(typeof f.alsoResize=="object"&&!f.alsoResize.parentNode)if(f.alsoResize.length){
                    f.alsoResize=
                    f.alsoResize[0];
                    g(f.alsoResize)
                }else b.each(f.alsoResize,function(a){
                    g(a)
                });else g(f.alsoResize)
            },
            resize:function(f,g){
                var a=b(this).data("resizable");
                f=a.options;
                var c=a.originalSize,h=a.originalPosition,i={
                    height:a.size.height-c.height||0,
                    width:a.size.width-c.width||0,
                    top:a.position.top-h.top||0,
                    left:a.position.left-h.left||0
                },j=function(n,o){
                    b(n).each(function(){
                        var l=b(this),k=b(this).data("resizable-alsoresize"),m={},p=o&&o.length?o:l.parents(g.originalElement[0]).length?["width","height"]:["width",
                        "height","top","left"];
                        b.each(p,function(q,s){
                            if((q=(k[s]||0)+(i[s]||0))&&q>=0)m[s]=q||null
                        });
                        if(b.browser.opera&&/relative/.test(l.css("position"))){
                            a._revertToRelativePosition=true;
                            l.css({
                                position:"absolute",
                                top:"auto",
                                left:"auto"
                            })
                        }
                        l.css(m)
                    })
                };
            
                typeof f.alsoResize=="object"&&!f.alsoResize.nodeType?b.each(f.alsoResize,function(n,o){
                    j(n,o)
                }):j(f.alsoResize)
            },
            stop:function(){
                var f=b(this).data("resizable"),g=f.options,a=function(c){
                    b(c).each(function(){
                        var h=b(this);
                        h.css({
                            position:h.data("resizable-alsoresize").position
                        })
                    })
                };
                if(f._revertToRelativePosition){
                    f._revertToRelativePosition=false;
                    typeof g.alsoResize=="object"&&!g.alsoResize.nodeType?b.each(g.alsoResize,function(c){
                        a(c)
                    }):a(g.alsoResize)
                }
                b(this).removeData("resizable-alsoresize")
            }
        });
        b.ui.plugin.add("resizable","animate",{
            stop:function(f){
                var g=b(this).data("resizable"),a=g.options,c=g._proportionallyResizeElements,h=c.length&&/textarea/i.test(c[0].nodeName),i=h&&b.ui.hasScroll(c[0],"left")?0:g.sizeDiff.height;
                h={
                    width:g.size.width-(h?0:g.sizeDiff.width),
                    height:g.size.height-
                    i
                };
            
                i=parseInt(g.element.css("left"),10)+(g.position.left-g.originalPosition.left)||null;
                var j=parseInt(g.element.css("top"),10)+(g.position.top-g.originalPosition.top)||null;
                g.element.animate(b.extend(h,j&&i?{
                    top:j,
                    left:i
                }:{}),{
                    duration:a.animateDuration,
                    easing:a.animateEasing,
                    step:function(){
                        var n={
                            width:parseInt(g.element.css("width"),10),
                            height:parseInt(g.element.css("height"),10),
                            top:parseInt(g.element.css("top"),10),
                            left:parseInt(g.element.css("left"),10)
                        };
                    
                        c&&c.length&&b(c[0]).css({
                            width:n.width,
                            height:n.height
                        });
                        g._updateCache(n);
                        g._propagate("resize",f)
                    }
                })
            }
        });
        b.ui.plugin.add("resizable","containment",{
            start:function(){
                var f=b(this).data("resizable"),g=f.element,a=f.options.containment;
                if(g=a instanceof b?a.get(0):/parent/.test(a)?g.parent().get(0):a){
                    f.containerElement=b(g);
                    if(/document/.test(a)||a==document){
                        f.containerOffset={
                            left:0,
                            top:0
                        };
                
                        f.containerPosition={
                            left:0,
                            top:0
                        };
                
                        f.parentData={
                            element:b(document),
                            left:0,
                            top:0,
                            width:b(document).width(),
                            height:b(document).height()||document.body.parentNode.scrollHeight
                        }
                    }else{
                        var c=
                        b(g),h=[];
                        b(["Top","Right","Left","Bottom"]).each(function(n,o){
                            h[n]=d(c.css("padding"+o))
                        });
                        f.containerOffset=c.offset();
                        f.containerPosition=c.position();
                        f.containerSize={
                            height:c.innerHeight()-h[3],
                            width:c.innerWidth()-h[1]
                        };
                
                        a=f.containerOffset;
                        var i=f.containerSize.height,j=f.containerSize.width;
                        j=b.ui.hasScroll(g,"left")?g.scrollWidth:j;
                        i=b.ui.hasScroll(g)?g.scrollHeight:i;
                        f.parentData={
                            element:g,
                            left:a.left,
                            top:a.top,
                            width:j,
                            height:i
                        }
                    }
                }
            },
            resize:function(f){
                var g=b(this).data("resizable"),a=g.options,
                c=g.containerOffset,h=g.position;
                f=g._aspectRatio||f.shiftKey;
                var i={
                    top:0,
                    left:0
                },j=g.containerElement;
                if(j[0]!=document&&/static/.test(j.css("position")))i=c;
                if(h.left<(g._helper?c.left:0)){
                    g.size.width+=g._helper?g.position.left-c.left:g.position.left-i.left;
                    if(f)g.size.height=g.size.width/a.aspectRatio;
                    g.position.left=a.helper?c.left:0
                }
                if(h.top<(g._helper?c.top:0)){
                    g.size.height+=g._helper?g.position.top-c.top:g.position.top;
                    if(f)g.size.width=g.size.height*a.aspectRatio;
                    g.position.top=g._helper?
                    c.top:0
                }
                g.offset.left=g.parentData.left+g.position.left;
                g.offset.top=g.parentData.top+g.position.top;
                a=Math.abs((g._helper?g.offset.left-i.left:g.offset.left-i.left)+g.sizeDiff.width);
                c=Math.abs((g._helper?g.offset.top-i.top:g.offset.top-c.top)+g.sizeDiff.height);
                h=g.containerElement.get(0)==g.element.parent().get(0);
                i=/relative|absolute/.test(g.containerElement.css("position"));
                if(h&&i)a-=g.parentData.left;
                if(a+g.size.width>=g.parentData.width){
                    g.size.width=g.parentData.width-a;
                    if(f)g.size.height=
                        g.size.width/g.aspectRatio
                }
                if(c+g.size.height>=g.parentData.height){
                    g.size.height=g.parentData.height-c;
                    if(f)g.size.width=g.size.height*g.aspectRatio
                }
            },
            stop:function(){
                var f=b(this).data("resizable"),g=f.options,a=f.containerOffset,c=f.containerPosition,h=f.containerElement,i=b(f.helper),j=i.offset(),n=i.outerWidth()-f.sizeDiff.width;
                i=i.outerHeight()-f.sizeDiff.height;
                f._helper&&!g.animate&&/relative/.test(h.css("position"))&&b(this).css({
                    left:j.left-c.left-a.left,
                    width:n,
                    height:i
                });
                f._helper&&!g.animate&&
                /static/.test(h.css("position"))&&b(this).css({
                    left:j.left-c.left-a.left,
                    width:n,
                    height:i
                })
            }
        });
        b.ui.plugin.add("resizable","ghost",{
            start:function(){
                var f=b(this).data("resizable"),g=f.options,a=f.size;
                f.ghost=f.originalElement.clone();
                f.ghost.css({
                    opacity:0.25,
                    display:"block",
                    position:"relative",
                    height:a.height,
                    width:a.width,
                    margin:0,
                    left:0,
                    top:0
                }).addClass("ui-resizable-ghost").addClass(typeof g.ghost=="string"?g.ghost:"");
                f.ghost.appendTo(f.helper)
            },
            resize:function(){
                var f=b(this).data("resizable");
                f.ghost&&f.ghost.css({
                    position:"relative",
                    height:f.size.height,
                    width:f.size.width
                })
            },
            stop:function(){
                var f=b(this).data("resizable");
                f.ghost&&f.helper&&f.helper.get(0).removeChild(f.ghost.get(0))
            }
        });
        b.ui.plugin.add("resizable","grid",{
            resize:function(){
                var f=b(this).data("resizable"),g=f.options,a=f.size,c=f.originalSize,h=f.originalPosition,i=f.axis;
                g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;
                var j=Math.round((a.width-c.width)/(g.grid[0]||1))*(g.grid[0]||1);
                g=Math.round((a.height-c.height)/
                    (g.grid[1]||1))*(g.grid[1]||1);
                if(/^(se|s|e)$/.test(i)){
                    f.size.width=c.width+j;
                    f.size.height=c.height+g
                }else if(/^(ne)$/.test(i)){
                    f.size.width=c.width+j;
                    f.size.height=c.height+g;
                    f.position.top=h.top-g
                }else{
                    if(/^(sw)$/.test(i)){
                        f.size.width=c.width+j;
                        f.size.height=c.height+g
                    }else{
                        f.size.width=c.width+j;
                        f.size.height=c.height+g;
                        f.position.top=h.top-g
                    }
                    f.position.left=h.left-j
                }
            }
        });
        var d=function(f){
            return parseInt(f,10)||0
        },e=function(f){
            return!isNaN(parseInt(f,10))
        }
    })(jQuery);
    (function(b){
        b.widget("ui.selectable",b.ui.mouse,{
            options:{
                appendTo:"body",
                autoRefresh:true,
                distance:0,
                filter:"*",
                tolerance:"touch"
            },
            _create:function(){
                var d=this;
                this.element.addClass("ui-selectable");
                this.dragged=false;
                var e;
                this.refresh=function(){
                    e=b(d.options.filter,d.element[0]);
                    e.each(function(){
                        var f=b(this),g=f.offset();
                        b.data(this,"selectable-item",{
                            element:this,
                            $element:f,
                            left:g.left,
                            top:g.top,
                            right:g.left+f.outerWidth(),
                            bottom:g.top+f.outerHeight(),
                            startselected:false,
                            selected:f.hasClass("ui-selected"),
                            selecting:f.hasClass("ui-selecting"),
                            unselecting:f.hasClass("ui-unselecting")
                        })
                    })
                };
                
                this.refresh();
                this.selectees=e.addClass("ui-selectee");
                this._mouseInit();
                this.helper=b("<div class='ui-selectable-helper'></div>")
            },
            destroy:function(){
                this.selectees.removeClass("ui-selectee").removeData("selectable-item");
                this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");
                this._mouseDestroy();
                return this
            },
            _mouseStart:function(d){
                var e=this;
                this.opos=[d.pageX,
                d.pageY];
                if(!this.options.disabled){
                    var f=this.options;
                    this.selectees=b(f.filter,this.element[0]);
                    this._trigger("start",d);
                    b(f.appendTo).append(this.helper);
                    this.helper.css({
                        left:d.clientX,
                        top:d.clientY,
                        width:0,
                        height:0
                    });
                    f.autoRefresh&&this.refresh();
                    this.selectees.filter(".ui-selected").each(function(){
                        var g=b.data(this,"selectable-item");
                        g.startselected=true;
                        if(!d.metaKey){
                            g.$element.removeClass("ui-selected");
                            g.selected=false;
                            g.$element.addClass("ui-unselecting");
                            g.unselecting=true;
                            e._trigger("unselecting",
                                d,{
                                    unselecting:g.element
                                })
                        }
                    });
                    b(d.target).parents().andSelf().each(function(){
                        var g=b.data(this,"selectable-item");
                        if(g){
                            var a=!d.metaKey||!g.$element.hasClass("ui-selected");
                            g.$element.removeClass(a?"ui-unselecting":"ui-selected").addClass(a?"ui-selecting":"ui-unselecting");
                            g.unselecting=!a;
                            g.selecting=a;
                            (g.selected=a)?e._trigger("selecting",d,{
                                selecting:g.element
                            }):e._trigger("unselecting",d,{
                                unselecting:g.element
                            });
                            return false
                        }
                    })
                }
            },
            _mouseDrag:function(d){
                var e=this;
                this.dragged=true;
                if(!this.options.disabled){
                    var f=
                    this.options,g=this.opos[0],a=this.opos[1],c=d.pageX,h=d.pageY;
                    if(g>c){
                        var i=c;
                        c=g;
                        g=i
                    }
                    if(a>h){
                        i=h;
                        h=a;
                        a=i
                    }
                    this.helper.css({
                        left:g,
                        top:a,
                        width:c-g,
                        height:h-a
                    });
                    this.selectees.each(function(){
                        var j=b.data(this,"selectable-item");
                        if(!(!j||j.element==e.element[0])){
                            var n=false;
                            if(f.tolerance=="touch")n=!(j.left>c||j.right<g||j.top>h||j.bottom<a);
                            else if(f.tolerance=="fit")n=j.left>g&&j.right<c&&j.top>a&&j.bottom<h;
                            if(n){
                                if(j.selected){
                                    j.$element.removeClass("ui-selected");
                                    j.selected=false
                                }
                                if(j.unselecting){
                                    j.$element.removeClass("ui-unselecting");
                                    j.unselecting=false
                                }
                                if(!j.selecting){
                                    j.$element.addClass("ui-selecting");
                                    j.selecting=true;
                                    e._trigger("selecting",d,{
                                        selecting:j.element
                                    })
                                }
                            }else{
                                if(j.selecting)if(d.metaKey&&j.startselected){
                                    j.$element.removeClass("ui-selecting");
                                    j.selecting=false;
                                    j.$element.addClass("ui-selected");
                                    j.selected=true
                                }else{
                                    j.$element.removeClass("ui-selecting");
                                    j.selecting=false;
                                    if(j.startselected){
                                        j.$element.addClass("ui-unselecting");
                                        j.unselecting=true
                                    }
                                    e._trigger("unselecting",d,{
                                        unselecting:j.element
                                    })
                                }
                                if(j.selected)if(!d.metaKey&&
                                    !j.startselected){
                                    j.$element.removeClass("ui-selected");
                                    j.selected=false;
                                    j.$element.addClass("ui-unselecting");
                                    j.unselecting=true;
                                    e._trigger("unselecting",d,{
                                        unselecting:j.element
                                    })
                                }
                            }
                        }
                    });
                    return false
                }
            },
            _mouseStop:function(d){
                var e=this;
                this.dragged=false;
                b(".ui-unselecting",this.element[0]).each(function(){
                    var f=b.data(this,"selectable-item");
                    f.$element.removeClass("ui-unselecting");
                    f.unselecting=false;
                    f.startselected=false;
                    e._trigger("unselected",d,{
                        unselected:f.element
                    })
                });
                b(".ui-selecting",this.element[0]).each(function(){
                    var f=
                    b.data(this,"selectable-item");
                    f.$element.removeClass("ui-selecting").addClass("ui-selected");
                    f.selecting=false;
                    f.selected=true;
                    f.startselected=true;
                    e._trigger("selected",d,{
                        selected:f.element
                    })
                });
                this._trigger("stop",d);
                this.helper.remove();
                return false
            }
        });
        b.extend(b.ui.selectable,{
            version:"1.8.12"
        })
    })(jQuery);
    (function(b){
        b.widget("ui.sortable",b.ui.mouse,{
            widgetEventPrefix:"sort",
            options:{
                appendTo:"parent",
                axis:false,
                connectWith:false,
                containment:false,
                cursor:"auto",
                cursorAt:false,
                dropOnEmpty:true,
                forcePlaceholderSize:false,
                forceHelperSize:false,
                grid:false,
                handle:false,
                helper:"original",
                items:"> *",
                opacity:false,
                placeholder:false,
                revert:false,
                scroll:true,
                scrollSensitivity:20,
                scrollSpeed:20,
                scope:"default",
                tolerance:"intersect",
                zIndex:1E3
            },
            _create:function(){
                this.containerCache={};
            
                this.element.addClass("ui-sortable");
                this.refresh();
                this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;
                this.offset=this.element.offset();
                this._mouseInit()
            },
            destroy:function(){
                this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");
                this._mouseDestroy();
                for(var d=this.items.length-1;d>=0;d--)this.items[d].item.removeData("sortable-item");
                return this
            },
            _setOption:function(d,e){
                if(d==="disabled"){
                    this.options[d]=
                    e;
                    this.widget()[e?"addClass":"removeClass"]("ui-sortable-disabled")
                }else b.Widget.prototype._setOption.apply(this,arguments)
            },
            _mouseCapture:function(d,e){
                if(this.reverting)return false;
                if(this.options.disabled||this.options.type=="static")return false;
                this._refreshItems(d);
                var f=null,g=this;
                b(d.target).parents().each(function(){
                    if(b.data(this,"sortable-item")==g){
                        f=b(this);
                        return false
                    }
                });
                if(b.data(d.target,"sortable-item")==g)f=b(d.target);
                if(!f)return false;
                if(this.options.handle&&!e){
                    var a=false;
                    b(this.options.handle,f).find("*").andSelf().each(function(){
                        if(this==d.target)a=true
                    });
                    if(!a)return false
                }
                this.currentItem=f;
                this._removeCurrentsFromItems();
                return true
            },
            _mouseStart:function(d,e,f){
                e=this.options;
                var g=this;
                this.currentContainer=this;
                this.refreshPositions();
                this.helper=this._createHelper(d);
                this._cacheHelperProportions();
                this._cacheMargins();
                this.scrollParent=this.helper.scrollParent();
                this.offset=this.currentItem.offset();
                this.offset={
                    top:this.offset.top-this.margins.top,
                    left:this.offset.left-
                    this.margins.left
                };
            
                this.helper.css("position","absolute");
                this.cssPosition=this.helper.css("position");
                b.extend(this.offset,{
                    click:{
                        left:d.pageX-this.offset.left,
                        top:d.pageY-this.offset.top
                    },
                    parent:this._getParentOffset(),
                    relative:this._getRelativeOffset()
                });
                this.originalPosition=this._generatePosition(d);
                this.originalPageX=d.pageX;
                this.originalPageY=d.pageY;
                e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt);
                this.domPosition={
                    prev:this.currentItem.prev()[0],
                    parent:this.currentItem.parent()[0]
                };
                this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();
                this._createPlaceholder();
                e.containment&&this._setContainment();
                if(e.cursor){
                    if(b("body").css("cursor"))this._storedCursor=b("body").css("cursor");
                    b("body").css("cursor",e.cursor)
                }
                if(e.opacity){
                    if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");
                    this.helper.css("opacity",e.opacity)
                }
                if(e.zIndex){
                    if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");
                    this.helper.css("zIndex",e.zIndex)
                }
                if(this.scrollParent[0]!=
                    document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();
                this._trigger("start",d,this._uiHash());
                this._preserveHelperProportions||this._cacheHelperProportions();
                if(!f)for(f=this.containers.length-1;f>=0;f--)this.containers[f]._trigger("activate",d,g._uiHash(this));
                if(b.ui.ddmanager)b.ui.ddmanager.current=this;
                b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,d);
                this.dragging=true;
                this.helper.addClass("ui-sortable-helper");
                this._mouseDrag(d);
                return true
            },
            _mouseDrag:function(d){
                this.position=this._generatePosition(d);
                this.positionAbs=this._convertPositionTo("absolute");
                if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;
                if(this.options.scroll){
                    var e=this.options,f=false;
                    if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){
                        if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-d.pageY<e.scrollSensitivity)this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop+e.scrollSpeed;
                        else if(d.pageY-this.overflowOffset.top<
                            e.scrollSensitivity)this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop-e.scrollSpeed;
                        if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-d.pageX<e.scrollSensitivity)this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft+e.scrollSpeed;
                        else if(d.pageX-this.overflowOffset.left<e.scrollSensitivity)this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft-e.scrollSpeed
                    }else{
                        if(d.pageY-b(document).scrollTop()<e.scrollSensitivity)f=b(document).scrollTop(b(document).scrollTop()-
                            e.scrollSpeed);
                        else if(b(window).height()-(d.pageY-b(document).scrollTop())<e.scrollSensitivity)f=b(document).scrollTop(b(document).scrollTop()+e.scrollSpeed);
                        if(d.pageX-b(document).scrollLeft()<e.scrollSensitivity)f=b(document).scrollLeft(b(document).scrollLeft()-e.scrollSpeed);
                        else if(b(window).width()-(d.pageX-b(document).scrollLeft())<e.scrollSensitivity)f=b(document).scrollLeft(b(document).scrollLeft()+e.scrollSpeed)
                    }
                    f!==false&&b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,
                        d)
                }
                this.positionAbs=this._convertPositionTo("absolute");
                if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";
                if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";
                for(e=this.items.length-1;e>=0;e--){
                    f=this.items[e];
                    var g=f.item[0],a=this._intersectsWithPointer(f);
                    if(a)if(g!=this.currentItem[0]&&this.placeholder[a==1?"next":"prev"]()[0]!=g&&!b.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!b.ui.contains(this.element[0],
                        g):true)){
                        this.direction=a==1?"down":"up";
                        if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(d,f);else break;
                        this._trigger("change",d,this._uiHash());
                        break
                    }
                }
                this._contactContainers(d);
                b.ui.ddmanager&&b.ui.ddmanager.drag(this,d);
                this._trigger("sort",d,this._uiHash());
                this.lastPositionAbs=this.positionAbs;
                return false
            },
            _mouseStop:function(d,e){
                if(d){
                    b.ui.ddmanager&&!this.options.dropBehaviour&&b.ui.ddmanager.drop(this,d);
                    if(this.options.revert){
                        var f=this;
                        e=f.placeholder.offset();
                        f.reverting=true;
                        b(this.helper).animate({
                            left:e.left-this.offset.parent.left-f.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),
                            top:e.top-this.offset.parent.top-f.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)
                        },parseInt(this.options.revert,10)||500,function(){
                            f._clear(d)
                        })
                    }else this._clear(d,e);
                    return false
                }
            },
            cancel:function(){
                var d=this;
                if(this.dragging){
                    this._mouseUp({
                        target:null
                    });
                    this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
                    this.currentItem.show();
                    for(var e=this.containers.length-1;e>=0;e--){
                        this.containers[e]._trigger("deactivate",null,d._uiHash(this));
                        if(this.containers[e].containerCache.over){
                            this.containers[e]._trigger("out",null,d._uiHash(this));
                            this.containers[e].containerCache.over=0
                        }
                    }
                }
                if(this.placeholder){
                    this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
                    this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();
                    b.extend(this,{
                        helper:null,
                        dragging:false,
                        reverting:false,
                        _noFinalSort:null
                    });
                    this.domPosition.prev?b(this.domPosition.prev).after(this.currentItem):b(this.domPosition.parent).prepend(this.currentItem)
                }
                return this
            },
            serialize:function(d){
                var e=this._getItemsAsjQuery(d&&d.connected),f=[];
                d=d||{};
    
                b(e).each(function(){
                    var g=(b(d.item||this).attr(d.attribute||"id")||"").match(d.expression||/(.+)[-=_](.+)/);
                    if(g)f.push((d.key||g[1]+"[]")+"="+(d.key&&d.expression?g[1]:g[2]))
                });
                !f.length&&d.key&&f.push(d.key+"=");
                return f.join("&")
            },
            toArray:function(d){
                var e=this._getItemsAsjQuery(d&&d.connected),f=[];
                d=d||{};
    
                e.each(function(){
                    f.push(b(d.item||this).attr(d.attribute||"id")||"")
                });
                return f
            },
            _intersectsWith:function(d){
                var e=this.positionAbs.left,f=e+this.helperProportions.width,g=this.positionAbs.top,a=g+this.helperProportions.height,c=d.left,h=c+d.width,i=d.top,j=i+d.height,n=this.offset.click.top,o=this.offset.click.left;
                n=g+n>i&&g+n<j&&e+o>c&&e+o<h;
                return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
                this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>d[this.floating?"width":"height"]?n:c<e+this.helperProportions.width/2&&f-this.helperProportions.width/2<h&&i<g+this.helperProportions.height/2&&a-this.helperProportions.height/2<j
            },
            _intersectsWithPointer:function(d){
                var e=b.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height);
                d=b.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width);
                e=e&&d;
                d=this._getDragVerticalDirection();
                var f=this._getDragHorizontalDirection();
                if(!e)return false;
                return this.floating?f&&f=="right"||d=="down"?2:1:d&&(d=="down"?2:1)
            },
            _intersectsWithSides:function(d){
                var e=b.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top+d.height/2,d.height);
                d=b.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left+d.width/2,d.width);
                var f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();
                return this.floating&&g?g=="right"&&d||g=="left"&&!d:f&&(f=="down"&&e||f=="up"&&!e)
            },
            _getDragVerticalDirection:function(){
                var d=this.positionAbs.top-this.lastPositionAbs.top;
                return d!=0&&(d>0?"down":"up")
            },
            _getDragHorizontalDirection:function(){
                var d=this.positionAbs.left-this.lastPositionAbs.left;
                return d!=0&&(d>0?"right":"left")
            },
            refresh:function(d){
                this._refreshItems(d);
                this.refreshPositions();
                return this
            },
            _connectWith:function(){
                var d=this.options;
                return d.connectWith.constructor==String?[d.connectWith]:d.connectWith
            },
            _getItemsAsjQuery:function(d){
                var e=[],f=[],g=this._connectWith();
                if(g&&d)for(d=g.length-1;d>=0;d--)for(var a=b(g[d]),c=a.length-1;c>=0;c--){
                    var h=b.data(a[c],"sortable");
                    if(h&&h!=this&&!h.options.disabled)f.push([b.isFunction(h.options.items)?h.options.items.call(h.element):b(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])
                }
                f.push([b.isFunction(this.options.items)?this.options.items.call(this.element,null,{
                    options:this.options,
                    item:this.currentItem
                }):b(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
                    this]);
                for(d=f.length-1;d>=0;d--)f[d][0].each(function(){
                    e.push(this)
                });
                return b(e)
            },
            _removeCurrentsFromItems:function(){
                for(var d=this.currentItem.find(":data(sortable-item)"),e=0;e<this.items.length;e++)for(var f=0;f<d.length;f++)d[f]==this.items[e].item[0]&&this.items.splice(e,1)
            },
            _refreshItems:function(d){
                this.items=[];
                this.containers=[this];
                var e=this.items,f=[[b.isFunction(this.options.items)?this.options.items.call(this.element[0],d,{
                    item:this.currentItem
                }):b(this.options.items,this.element),
                this]],g=this._connectWith();
                if(g)for(var a=g.length-1;a>=0;a--)for(var c=b(g[a]),h=c.length-1;h>=0;h--){
                    var i=b.data(c[h],"sortable");
                    if(i&&i!=this&&!i.options.disabled){
                        f.push([b.isFunction(i.options.items)?i.options.items.call(i.element[0],d,{
                            item:this.currentItem
                        }):b(i.options.items,i.element),i]);
                        this.containers.push(i)
                    }
                }
                for(a=f.length-1;a>=0;a--){
                    d=f[a][1];
                    g=f[a][0];
                    h=0;
                    for(c=g.length;h<c;h++){
                        i=b(g[h]);
                        i.data("sortable-item",d);
                        e.push({
                            item:i,
                            instance:d,
                            width:0,
                            height:0,
                            left:0,
                            top:0
                        })
                    }
                }
            },
            refreshPositions:function(d){
                if(this.offsetParent&&
                    this.helper)this.offset.parent=this._getParentOffset();
                for(var e=this.items.length-1;e>=0;e--){
                    var f=this.items[e];
                    if(!(f.instance!=this.currentContainer&&this.currentContainer&&f.item[0]!=this.currentItem[0])){
                        var g=this.options.toleranceElement?b(this.options.toleranceElement,f.item):f.item;
                        if(!d){
                            f.width=g.outerWidth();
                            f.height=g.outerHeight()
                        }
                        g=g.offset();
                        f.left=g.left;
                        f.top=g.top
                    }
                }
                if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=
                    this.containers.length-1;e>=0;e--){
                    g=this.containers[e].element.offset();
                    this.containers[e].containerCache.left=g.left;
                    this.containers[e].containerCache.top=g.top;
                    this.containers[e].containerCache.width=this.containers[e].element.outerWidth();
                    this.containers[e].containerCache.height=this.containers[e].element.outerHeight()
                }
                return this
            },
            _createPlaceholder:function(d){
                var e=d||this,f=e.options;
                if(!f.placeholder||f.placeholder.constructor==String){
                    var g=f.placeholder;
                    f.placeholder={
                        element:function(){
                            var a=
                            b(document.createElement(e.currentItem[0].nodeName)).addClass(g||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];
                            if(!g)a.style.visibility="hidden";
                            return a
                        },
                        update:function(a,c){
                            if(!(g&&!f.forcePlaceholderSize)){
                                c.height()||c.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10));
                                c.width()||c.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||
                                    0,10))
                            }
                        }
                    }
                }
                e.placeholder=b(f.placeholder.element.call(e.element,e.currentItem));
                e.currentItem.after(e.placeholder);
                f.placeholder.update(e,e.placeholder)
            },
            _contactContainers:function(d){
                for(var e=null,f=null,g=this.containers.length-1;g>=0;g--)if(!b.ui.contains(this.currentItem[0],this.containers[g].element[0]))if(this._intersectsWith(this.containers[g].containerCache)){
                    if(!(e&&b.ui.contains(this.containers[g].element[0],e.element[0]))){
                        e=this.containers[g];
                        f=g
                    }
                }else if(this.containers[g].containerCache.over){
                    this.containers[g]._trigger("out",
                        d,this._uiHash(this));
                    this.containers[g].containerCache.over=0
                }
                if(e)if(this.containers.length===1){
                    this.containers[f]._trigger("over",d,this._uiHash(this));
                    this.containers[f].containerCache.over=1
                }else if(this.currentContainer!=this.containers[f]){
                    e=1E4;
                    g=null;
                    for(var a=this.positionAbs[this.containers[f].floating?"left":"top"],c=this.items.length-1;c>=0;c--)if(b.ui.contains(this.containers[f].element[0],this.items[c].item[0])){
                        var h=this.items[c][this.containers[f].floating?"left":"top"];
                        if(Math.abs(h-
                            a)<e){
                            e=Math.abs(h-a);
                            g=this.items[c]
                        }
                    }
                    if(g||this.options.dropOnEmpty){
                        this.currentContainer=this.containers[f];
                        g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[f].element,true);
                        this._trigger("change",d,this._uiHash());
                        this.containers[f]._trigger("change",d,this._uiHash(this));
                        this.options.placeholder.update(this.currentContainer,this.placeholder);
                        this.containers[f]._trigger("over",d,this._uiHash(this));
                        this.containers[f].containerCache.over=1
                    }
                }
            },
            _createHelper:function(d){
                var e=
                this.options;
                d=b.isFunction(e.helper)?b(e.helper.apply(this.element[0],[d,this.currentItem])):e.helper=="clone"?this.currentItem.clone():this.currentItem;
                d.parents("body").length||b(e.appendTo!="parent"?e.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]);
                if(d[0]==this.currentItem[0])this._storedCSS={
                    width:this.currentItem[0].style.width,
                    height:this.currentItem[0].style.height,
                    position:this.currentItem.css("position"),
                    top:this.currentItem.css("top"),
                    left:this.currentItem.css("left")
                };
        
                if(d[0].style.width==
                    ""||e.forceHelperSize)d.width(this.currentItem.width());
                if(d[0].style.height==""||e.forceHelperSize)d.height(this.currentItem.height());
                return d
            },
            _adjustOffsetFromHelper:function(d){
                if(typeof d=="string")d=d.split(" ");
                if(b.isArray(d))d={
                    left:+d[0],
                    top:+d[1]||0
                };
        
                if("left"in d)this.offset.click.left=d.left+this.margins.left;
                if("right"in d)this.offset.click.left=this.helperProportions.width-d.right+this.margins.left;
                if("top"in d)this.offset.click.top=d.top+this.margins.top;
                if("bottom"in d)this.offset.click.top=
                    this.helperProportions.height-d.bottom+this.margins.top
            },
            _getParentOffset:function(){
                this.offsetParent=this.helper.offsetParent();
                var d=this.offsetParent.offset();
                if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0])){
                    d.left+=this.scrollParent.scrollLeft();
                    d.top+=this.scrollParent.scrollTop()
                }
                if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&b.browser.msie)d=

                {
                        top:0,
                        left:0
                    };
    
                return{
                    top:d.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
                    left:d.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
                }
            },
            _getRelativeOffset:function(){
                if(this.cssPosition=="relative"){
                    var d=this.currentItem.position();
                    return{
                        top:d.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
                        left:d.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
                    }
                }else return{
                    top:0,
                    left:0
                }
            },
            _cacheMargins:function(){
                this.margins={
                    left:parseInt(this.currentItem.css("marginLeft"),
                        10)||0,
                    top:parseInt(this.currentItem.css("marginTop"),10)||0
                }
            },
            _cacheHelperProportions:function(){
                this.helperProportions={
                    width:this.helper.outerWidth(),
                    height:this.helper.outerHeight()
                }
            },
            _setContainment:function(){
                var d=this.options;
                if(d.containment=="parent")d.containment=this.helper[0].parentNode;
                if(d.containment=="document"||d.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,b(d.containment=="document"?
                    document:window).width()-this.helperProportions.width-this.margins.left,(b(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];
                if(!/^(document|window|parent)$/.test(d.containment)){
                    var e=b(d.containment)[0];
                    d=b(d.containment).offset();
                    var f=b(e).css("overflow")!="hidden";
                    this.containment=[d.left+(parseInt(b(e).css("borderLeftWidth"),10)||0)+(parseInt(b(e).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(b(e).css("borderTopWidth"),
                        10)||0)+(parseInt(b(e).css("paddingTop"),10)||0)-this.margins.top,d.left+(f?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(b(e).css("borderLeftWidth"),10)||0)-(parseInt(b(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(f?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(b(e).css("borderTopWidth"),10)||0)-(parseInt(b(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]
                }
            },
            _convertPositionTo:function(d,e){
                if(!e)e=
                    this.position;
                d=d=="absolute"?1:-1;
                var f=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);
                return{
                    top:e.top+this.offset.relative.top*d+this.offset.parent.top*d-(b.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),
                    left:e.left+this.offset.relative.left*d+this.offset.parent.left*d-(b.browser.safari&&
                        this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)
                }
            },
            _generatePosition:function(d){
                var e=this.options,f=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);
                if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
                var a=d.pageX,c=d.pageY;
                if(this.originalPosition){
                    if(this.containment){
                        if(d.pageX-this.offset.click.left<this.containment[0])a=this.containment[0]+this.offset.click.left;
                        if(d.pageY-this.offset.click.top<this.containment[1])c=this.containment[1]+this.offset.click.top;
                        if(d.pageX-this.offset.click.left>this.containment[2])a=this.containment[2]+this.offset.click.left;
                        if(d.pageY-this.offset.click.top>this.containment[3])c=this.containment[3]+this.offset.click.top
                    }
                    if(e.grid){
                        c=this.originalPageY+Math.round((c-
                            this.originalPageY)/e.grid[1])*e.grid[1];
                        c=this.containment?!(c-this.offset.click.top<this.containment[1]||c-this.offset.click.top>this.containment[3])?c:!(c-this.offset.click.top<this.containment[1])?c-e.grid[1]:c+e.grid[1]:c;
                        a=this.originalPageX+Math.round((a-this.originalPageX)/e.grid[0])*e.grid[0];
                        a=this.containment?!(a-this.offset.click.left<this.containment[0]||a-this.offset.click.left>this.containment[2])?a:!(a-this.offset.click.left<this.containment[0])?a-e.grid[0]:a+e.grid[0]:a
                    }
                }
                return{
                    top:c-
                    this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(b.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop()),
                    left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(b.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())
                }
            },
            _rearrange:function(d,e,f,g){
                f?f[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],
                    this.direction=="down"?e.item[0]:e.item[0].nextSibling);
                this.counter=this.counter?++this.counter:1;
                var a=this,c=this.counter;
                window.setTimeout(function(){
                    c==a.counter&&a.refreshPositions(!g)
                },0)
            },
            _clear:function(d,e){
                this.reverting=false;
                var f=[];
                !this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);
                this._noFinalSort=null;
                if(this.helper[0]==this.currentItem[0]){
                    for(var g in this._storedCSS)if(this._storedCSS[g]=="auto"||this._storedCSS[g]=="static")this._storedCSS[g]=
                        "";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
                }else this.currentItem.show();
                this.fromOutside&&!e&&f.push(function(a){
                    this._trigger("receive",a,this._uiHash(this.fromOutside))
                });
                if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e)f.push(function(a){
                    this._trigger("update",a,this._uiHash())
                });
                if(!b.ui.contains(this.element[0],this.currentItem[0])){
                    e||f.push(function(a){
                        this._trigger("remove",
                            a,this._uiHash())
                    });
                    for(g=this.containers.length-1;g>=0;g--)if(b.ui.contains(this.containers[g].element[0],this.currentItem[0])&&!e){
                        f.push(function(a){
                            return function(c){
                                a._trigger("receive",c,this._uiHash(this))
                            }
                        }.call(this,this.containers[g]));
                        f.push(function(a){
                            return function(c){
                                a._trigger("update",c,this._uiHash(this))
                            }
                        }.call(this,this.containers[g]))
                    }
                }
                for(g=this.containers.length-1;g>=0;g--){
                    e||f.push(function(a){
                        return function(c){
                            a._trigger("deactivate",c,this._uiHash(this))
                        }
                    }.call(this,
                        this.containers[g]));
                    if(this.containers[g].containerCache.over){
                        f.push(function(a){
                            return function(c){
                                a._trigger("out",c,this._uiHash(this))
                            }
                        }.call(this,this.containers[g]));
                        this.containers[g].containerCache.over=0
                    }
                }
                this._storedCursor&&b("body").css("cursor",this._storedCursor);
                this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);
                if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);
                this.dragging=false;
                if(this.cancelHelperRemoval){
                    if(!e){
                        this._trigger("beforeStop",
                            d,this._uiHash());
                        for(g=0;g<f.length;g++)f[g].call(this,d);
                        this._trigger("stop",d,this._uiHash())
                    }
                    return false
                }
                e||this._trigger("beforeStop",d,this._uiHash());
                this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
                this.helper[0]!=this.currentItem[0]&&this.helper.remove();
                this.helper=null;
                if(!e){
                    for(g=0;g<f.length;g++)f[g].call(this,d);
                    this._trigger("stop",d,this._uiHash())
                }
                this.fromOutside=false;
                return true
            },
            _trigger:function(){
                b.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()
            },
            _uiHash:function(d){
                var e=d||this;
                return{
                    helper:e.helper,
                    placeholder:e.placeholder||b([]),
                    position:e.position,
                    originalPosition:e.originalPosition,
                    offset:e.positionAbs,
                    item:e.currentItem,
                    sender:d?d.element:null
                }
            }
        });
        b.extend(b.ui.sortable,{
            version:"1.8.12"
        })
    })(jQuery);
    jQuery.effects||function(b,d){
        function e(l){
            var k;
            if(l&&l.constructor==Array&&l.length==3)return l;
            if(k=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(l))return[parseInt(k[1],10),parseInt(k[2],10),parseInt(k[3],10)];
            if(k=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(l))return[parseFloat(k[1])*2.55,parseFloat(k[2])*2.55,parseFloat(k[3])*2.55];
            if(k=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(l))return[parseInt(k[1],
                16),parseInt(k[2],16),parseInt(k[3],16)];
            if(k=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(l))return[parseInt(k[1]+k[1],16),parseInt(k[2]+k[2],16),parseInt(k[3]+k[3],16)];
            if(/rgba\(0, 0, 0, 0\)/.exec(l))return j.transparent;
            return j[b.trim(l).toLowerCase()]
        }
        function f(l,k){
            var m;
            do{
                m=b.curCSS(l,k);
                if(m!=""&&m!="transparent"||b.nodeName(l,"body"))break;
                k="backgroundColor"
            }while(l=l.parentNode);
            return e(m)
        }
        function g(){
            var l=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
            k={},m,p;
            if(l&&l.length&&l[0]&&l[l[0]])for(var q=l.length;q--;){
                m=l[q];
                if(typeof l[m]=="string"){
                    p=m.replace(/\-(\w)/g,function(s,r){
                        return r.toUpperCase()
                    });
                    k[p]=l[m]
                }
            }else for(m in l)if(typeof l[m]==="string")k[m]=l[m];return k
        }
        function a(l){
            var k,m;
            for(k in l){
                m=l[k];
                if(m==null||b.isFunction(m)||k in o||/scrollbar/.test(k)||!/color/i.test(k)&&isNaN(parseFloat(m)))delete l[k]
            }
            return l
        }
        function c(l,k){
            var m={
                _:0
            },p;
            for(p in k)if(l[p]!=k[p])m[p]=k[p];return m
        }
        function h(l,k,m,p){
            if(typeof l=="object"){
                p=
                k;
                m=null;
                k=l;
                l=k.effect
            }
            if(b.isFunction(k)){
                p=k;
                m=null;
                k={}
            }
            if(typeof k=="number"||b.fx.speeds[k]){
                p=m;
                m=k;
                k={}
            }
            if(b.isFunction(m)){
                p=m;
                m=null
            }
            k=k||{};

            m=m||k.duration;
            m=b.fx.off?0:typeof m=="number"?m:m in b.fx.speeds?b.fx.speeds[m]:b.fx.speeds._default;
            p=p||k.complete;
            return[l,k,m,p]
        }
        function i(l){
            if(!l||typeof l==="number"||b.fx.speeds[l])return true;
            if(typeof l==="string"&&!b.effects[l])return true;
            return false
        }
        b.effects={};

        b.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
            "borderTopColor","borderColor","color","outlineColor"],function(l,k){
                b.fx.step[k]=function(m){
                    if(!m.colorInit){
                        m.start=f(m.elem,k);
                        m.end=e(m.end);
                        m.colorInit=true
                    }
                    m.elem.style[k]="rgb("+Math.max(Math.min(parseInt(m.pos*(m.end[0]-m.start[0])+m.start[0],10),255),0)+","+Math.max(Math.min(parseInt(m.pos*(m.end[1]-m.start[1])+m.start[1],10),255),0)+","+Math.max(Math.min(parseInt(m.pos*(m.end[2]-m.start[2])+m.start[2],10),255),0)+")"
                }
            });
        var j={
            aqua:[0,255,255],
            azure:[240,255,255],
            beige:[245,245,220],
            black:[0,
            0,0],
            blue:[0,0,255],
            brown:[165,42,42],
            cyan:[0,255,255],
            darkblue:[0,0,139],
            darkcyan:[0,139,139],
            darkgrey:[169,169,169],
            darkgreen:[0,100,0],
            darkkhaki:[189,183,107],
            darkmagenta:[139,0,139],
            darkolivegreen:[85,107,47],
            darkorange:[255,140,0],
            darkorchid:[153,50,204],
            darkred:[139,0,0],
            darksalmon:[233,150,122],
            darkviolet:[148,0,211],
            fuchsia:[255,0,255],
            gold:[255,215,0],
            green:[0,128,0],
            indigo:[75,0,130],
            khaki:[240,230,140],
            lightblue:[173,216,230],
            lightcyan:[224,255,255],
            lightgreen:[144,238,144],
            lightgrey:[211,
            211,211],
            lightpink:[255,182,193],
            lightyellow:[255,255,224],
            lime:[0,255,0],
            magenta:[255,0,255],
            maroon:[128,0,0],
            navy:[0,0,128],
            olive:[128,128,0],
            orange:[255,165,0],
            pink:[255,192,203],
            purple:[128,0,128],
            violet:[128,0,128],
            red:[255,0,0],
            silver:[192,192,192],
            white:[255,255,255],
            yellow:[255,255,0],
            transparent:[255,255,255]
        },n=["add","remove","toggle"],o={
            border:1,
            borderBottom:1,
            borderColor:1,
            borderLeft:1,
            borderRight:1,
            borderTop:1,
            borderWidth:1,
            margin:1,
            padding:1
        };

        b.effects.animateClass=function(l,k,m,
            p){
            if(b.isFunction(m)){
                p=m;
                m=null
            }
            return this.queue("fx",function(){
                var q=b(this),s=q.attr("style")||" ",r=a(g.call(this)),u,v=q.attr("className");
                b.each(n,function(w,y){
                    l[y]&&q[y+"Class"](l[y])
                });
                u=a(g.call(this));
                q.attr("className",v);
                q.animate(c(r,u),k,m,function(){
                    b.each(n,function(w,y){
                        l[y]&&q[y+"Class"](l[y])
                    });
                    if(typeof q.attr("style")=="object"){
                        q.attr("style").cssText="";
                        q.attr("style").cssText=s
                    }else q.attr("style",s);
                    p&&p.apply(this,arguments)
                });
                r=b.queue(this);
                u=r.splice(r.length-1,1)[0];
                r.splice(1,0,u);
                b.dequeue(this)
            })
        };
    
        b.fn.extend({
            _addClass:b.fn.addClass,
            addClass:function(l,k,m,p){
                return k?b.effects.animateClass.apply(this,[{
                    add:l
                },k,m,p]):this._addClass(l)
            },
            _removeClass:b.fn.removeClass,
            removeClass:function(l,k,m,p){
                return k?b.effects.animateClass.apply(this,[{
                    remove:l
                },k,m,p]):this._removeClass(l)
            },
            _toggleClass:b.fn.toggleClass,
            toggleClass:function(l,k,m,p,q){
                return typeof k=="boolean"||k===d?m?b.effects.animateClass.apply(this,[k?{
                    add:l
                }:{
                    remove:l
                },m,p,q]):this._toggleClass(l,
                    k):b.effects.animateClass.apply(this,[{
                    toggle:l
                },k,m,p])
            },
            switchClass:function(l,k,m,p,q){
                return b.effects.animateClass.apply(this,[{
                    add:k,
                    remove:l
                },m,p,q])
            }
        });
        b.extend(b.effects,{
            version:"1.8.12",
            save:function(l,k){
                for(var m=0;m<k.length;m++)k[m]!==null&&l.data("ec.storage."+k[m],l[0].style[k[m]])
            },
            restore:function(l,k){
                for(var m=0;m<k.length;m++)k[m]!==null&&l.css(k[m],l.data("ec.storage."+k[m]))
            },
            setMode:function(l,k){
                if(k=="toggle")k=l.is(":hidden")?"show":"hide";
                return k
            },
            getBaseline:function(l,
                k){
                var m;
                switch(l[0]){
                    case "top":
                        m=0;
                        break;
                    case "middle":
                        m=0.5;
                        break;
                    case "bottom":
                        m=1;
                        break;
                    default:
                        m=l[0]/k.height
                }
                switch(l[1]){
                    case "left":
                        l=0;
                        break;
                    case "center":
                        l=0.5;
                        break;
                    case "right":
                        l=1;
                        break;
                    default:
                        l=l[1]/k.width
                }
                return{
                    x:l,
                    y:m
                }
            },
            createWrapper:function(l){
                if(l.parent().is(".ui-effects-wrapper"))return l.parent();
                var k={
                    width:l.outerWidth(true),
                    height:l.outerHeight(true),
                    "float":l.css("float")
                },m=b("<div></div>").addClass("ui-effects-wrapper").css({
                    fontSize:"100%",
                    background:"transparent",
                    border:"none",
                    margin:0,
                    padding:0
                });
                l.wrap(m);
                m=l.parent();
                if(l.css("position")=="static"){
                    m.css({
                        position:"relative"
                    });
                    l.css({
                        position:"relative"
                    })
                }else{
                    b.extend(k,{
                        position:l.css("position"),
                        zIndex:l.css("z-index")
                    });
                    b.each(["top","left","bottom","right"],function(p,q){
                        k[q]=l.css(q);
                        if(isNaN(parseInt(k[q],10)))k[q]="auto"
                    });
                    l.css({
                        position:"relative",
                        top:0,
                        left:0,
                        right:"auto",
                        bottom:"auto"
                    })
                }
                return m.css(k).show()
            },
            removeWrapper:function(l){
                if(l.parent().is(".ui-effects-wrapper"))return l.parent().replaceWith(l);
                return l
            },
            setTransition:function(l,k,m,p){
                p=p||{};
    
                b.each(k,function(q,s){
                    unit=l.cssUnit(s);
                    if(unit[0]>0)p[s]=unit[0]*m+unit[1]
                });
                return p
            }
        });
        b.fn.extend({
            effect:function(l){
                var k=h.apply(this,arguments),m={
                    options:k[1],
                    duration:k[2],
                    callback:k[3]
                };
            
                k=m.options.mode;
                var p=b.effects[l];
                if(b.fx.off||!p)return k?this[k](m.duration,m.callback):this.each(function(){
                    m.callback&&m.callback.call(this)
                });
                return p.call(this,m)
            },
            _show:b.fn.show,
            show:function(l){
                if(i(l))return this._show.apply(this,arguments);
                else{
                    var k=h.apply(this,arguments);
                    k[1].mode="show";
                    return this.effect.apply(this,k)
                }
            },
            _hide:b.fn.hide,
            hide:function(l){
                if(i(l))return this._hide.apply(this,arguments);
                else{
                    var k=h.apply(this,arguments);
                    k[1].mode="hide";
                    return this.effect.apply(this,k)
                }
            },
            __toggle:b.fn.toggle,
            toggle:function(l){
                if(i(l)||typeof l==="boolean"||b.isFunction(l))return this.__toggle.apply(this,arguments);
                else{
                    var k=h.apply(this,arguments);
                    k[1].mode="toggle";
                    return this.effect.apply(this,k)
                }
            },
            cssUnit:function(l){
                var k=this.css(l),
                m=[];
                b.each(["em","px","%","pt"],function(p,q){
                    if(k.indexOf(q)>0)m=[parseFloat(k),q]
                });
                return m
            }
        });
        b.easing.jswing=b.easing.swing;
        b.extend(b.easing,{
            def:"easeOutQuad",
            swing:function(l,k,m,p,q){
                return b.easing[b.easing.def](l,k,m,p,q)
            },
            easeInQuad:function(l,k,m,p,q){
                return p*(k/=q)*k+m
            },
            easeOutQuad:function(l,k,m,p,q){
                return-p*(k/=q)*(k-2)+m
            },
            easeInOutQuad:function(l,k,m,p,q){
                if((k/=q/2)<1)return p/2*k*k+m;
                return-p/2*(--k*(k-2)-1)+m
            },
            easeInCubic:function(l,k,m,p,q){
                return p*(k/=q)*k*k+m
            },
            easeOutCubic:function(l,
                k,m,p,q){
                return p*((k=k/q-1)*k*k+1)+m
            },
            easeInOutCubic:function(l,k,m,p,q){
                if((k/=q/2)<1)return p/2*k*k*k+m;
                return p/2*((k-=2)*k*k+2)+m
            },
            easeInQuart:function(l,k,m,p,q){
                return p*(k/=q)*k*k*k+m
            },
            easeOutQuart:function(l,k,m,p,q){
                return-p*((k=k/q-1)*k*k*k-1)+m
            },
            easeInOutQuart:function(l,k,m,p,q){
                if((k/=q/2)<1)return p/2*k*k*k*k+m;
                return-p/2*((k-=2)*k*k*k-2)+m
            },
            easeInQuint:function(l,k,m,p,q){
                return p*(k/=q)*k*k*k*k+m
            },
            easeOutQuint:function(l,k,m,p,q){
                return p*((k=k/q-1)*k*k*k*k+1)+m
            },
            easeInOutQuint:function(l,
                k,m,p,q){
                if((k/=q/2)<1)return p/2*k*k*k*k*k+m;
                return p/2*((k-=2)*k*k*k*k+2)+m
            },
            easeInSine:function(l,k,m,p,q){
                return-p*Math.cos(k/q*(Math.PI/2))+p+m
            },
            easeOutSine:function(l,k,m,p,q){
                return p*Math.sin(k/q*(Math.PI/2))+m
            },
            easeInOutSine:function(l,k,m,p,q){
                return-p/2*(Math.cos(Math.PI*k/q)-1)+m
            },
            easeInExpo:function(l,k,m,p,q){
                return k==0?m:p*Math.pow(2,10*(k/q-1))+m
            },
            easeOutExpo:function(l,k,m,p,q){
                return k==q?m+p:p*(-Math.pow(2,-10*k/q)+1)+m
            },
            easeInOutExpo:function(l,k,m,p,q){
                if(k==0)return m;
                if(k==
                    q)return m+p;
                if((k/=q/2)<1)return p/2*Math.pow(2,10*(k-1))+m;
                return p/2*(-Math.pow(2,-10*--k)+2)+m
            },
            easeInCirc:function(l,k,m,p,q){
                return-p*(Math.sqrt(1-(k/=q)*k)-1)+m
            },
            easeOutCirc:function(l,k,m,p,q){
                return p*Math.sqrt(1-(k=k/q-1)*k)+m
            },
            easeInOutCirc:function(l,k,m,p,q){
                if((k/=q/2)<1)return-p/2*(Math.sqrt(1-k*k)-1)+m;
                return p/2*(Math.sqrt(1-(k-=2)*k)+1)+m
            },
            easeInElastic:function(l,k,m,p,q){
                l=1.70158;
                var s=0,r=p;
                if(k==0)return m;
                if((k/=q)==1)return m+p;
                s||(s=q*0.3);
                if(r<Math.abs(p)){
                    r=p;
                    l=s/4
                }else l=
                    s/(2*Math.PI)*Math.asin(p/r);
                return-(r*Math.pow(2,10*(k-=1))*Math.sin((k*q-l)*2*Math.PI/s))+m
            },
            easeOutElastic:function(l,k,m,p,q){
                l=1.70158;
                var s=0,r=p;
                if(k==0)return m;
                if((k/=q)==1)return m+p;
                s||(s=q*0.3);
                if(r<Math.abs(p)){
                    r=p;
                    l=s/4
                }else l=s/(2*Math.PI)*Math.asin(p/r);
                return r*Math.pow(2,-10*k)*Math.sin((k*q-l)*2*Math.PI/s)+p+m
            },
            easeInOutElastic:function(l,k,m,p,q){
                l=1.70158;
                var s=0,r=p;
                if(k==0)return m;
                if((k/=q/2)==2)return m+p;
                s||(s=q*0.3*1.5);
                if(r<Math.abs(p)){
                    r=p;
                    l=s/4
                }else l=s/(2*Math.PI)*Math.asin(p/
                    r);
                if(k<1)return-0.5*r*Math.pow(2,10*(k-=1))*Math.sin((k*q-l)*2*Math.PI/s)+m;
                return r*Math.pow(2,-10*(k-=1))*Math.sin((k*q-l)*2*Math.PI/s)*0.5+p+m
            },
            easeInBack:function(l,k,m,p,q,s){
                if(s==d)s=1.70158;
                return p*(k/=q)*k*((s+1)*k-s)+m
            },
            easeOutBack:function(l,k,m,p,q,s){
                if(s==d)s=1.70158;
                return p*((k=k/q-1)*k*((s+1)*k+s)+1)+m
            },
            easeInOutBack:function(l,k,m,p,q,s){
                if(s==d)s=1.70158;
                if((k/=q/2)<1)return p/2*k*k*(((s*=1.525)+1)*k-s)+m;
                return p/2*((k-=2)*k*(((s*=1.525)+1)*k+s)+2)+m
            },
            easeInBounce:function(l,
                k,m,p,q){
                return p-b.easing.easeOutBounce(l,q-k,0,p,q)+m
            },
            easeOutBounce:function(l,k,m,p,q){
                return(k/=q)<1/2.75?p*7.5625*k*k+m:k<2/2.75?p*(7.5625*(k-=1.5/2.75)*k+0.75)+m:k<2.5/2.75?p*(7.5625*(k-=2.25/2.75)*k+0.9375)+m:p*(7.5625*(k-=2.625/2.75)*k+0.984375)+m
            },
            easeInOutBounce:function(l,k,m,p,q){
                if(k<q/2)return b.easing.easeInBounce(l,k*2,0,p,q)*0.5+m;
                return b.easing.easeOutBounce(l,k*2-q,0,p,q)*0.5+p*0.5+m
            }
        })
    }(jQuery);
    (function(b){
        b.effects.blind=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right"],g=b.effects.setMode(e,d.options.mode||"hide"),a=d.options.direction||"vertical";
                b.effects.save(e,f);
                e.show();
                var c=b.effects.createWrapper(e).css({
                    overflow:"hidden"
                }),h=a=="vertical"?"height":"width";
                a=a=="vertical"?c.height():c.width();
                g=="show"&&c.css(h,0);
                var i={};
            
                i[h]=g=="show"?a:0;
                c.animate(i,d.duration,d.options.easing,function(){
                    g=="hide"&&e.hide();
                    b.effects.restore(e,
                        f);
                    b.effects.removeWrapper(e);
                    d.callback&&d.callback.apply(e[0],arguments);
                    e.dequeue()
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.bounce=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right"],g=b.effects.setMode(e,d.options.mode||"effect"),a=d.options.direction||"up",c=d.options.distance||20,h=d.options.times||5,i=d.duration||250;
                /show|hide/.test(g)&&f.push("opacity");
                b.effects.save(e,f);
                e.show();
                b.effects.createWrapper(e);
                var j=a=="up"||a=="down"?"top":"left";
                a=a=="up"||a=="left"?"pos":"neg";
                c=d.options.distance||(j=="top"?e.outerHeight({
                    margin:true
                })/3:e.outerWidth({
                    margin:true
                })/
                3);
                if(g=="show")e.css("opacity",0).css(j,a=="pos"?-c:c);
                if(g=="hide")c/=h*2;
                g!="hide"&&h--;
                if(g=="show"){
                    var n={
                        opacity:1
                    };
                
                    n[j]=(a=="pos"?"+=":"-=")+c;
                    e.animate(n,i/2,d.options.easing);
                    c/=2;
                    h--
                }
                for(n=0;n<h;n++){
                    var o={},l={};
                
                    o[j]=(a=="pos"?"-=":"+=")+c;
                    l[j]=(a=="pos"?"+=":"-=")+c;
                    e.animate(o,i/2,d.options.easing).animate(l,i/2,d.options.easing);
                    c=g=="hide"?c*2:c/2
                }
                if(g=="hide"){
                    n={
                        opacity:0
                    };
                
                    n[j]=(a=="pos"?"-=":"+=")+c;
                    e.animate(n,i/2,d.options.easing,function(){
                        e.hide();
                        b.effects.restore(e,f);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(this,arguments)
                    })
                }else{
                    o={};
                
                    l={};
                
                    o[j]=(a=="pos"?"-=":"+=")+c;
                    l[j]=(a=="pos"?"+=":"-=")+c;
                    e.animate(o,i/2,d.options.easing).animate(l,i/2,d.options.easing,function(){
                        b.effects.restore(e,f);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(this,arguments)
                    })
                }
                e.queue("fx",function(){
                    e.dequeue()
                });
                e.dequeue()
            })
        }
    })(jQuery);
    (function(b){
        b.effects.clip=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right","height","width"],g=b.effects.setMode(e,d.options.mode||"hide"),a=d.options.direction||"vertical";
                b.effects.save(e,f);
                e.show();
                var c=b.effects.createWrapper(e).css({
                    overflow:"hidden"
                });
                c=e[0].tagName=="IMG"?c:e;
                var h={
                    size:a=="vertical"?"height":"width",
                    position:a=="vertical"?"top":"left"
                };
                
                a=a=="vertical"?c.height():c.width();
                if(g=="show"){
                    c.css(h.size,0);
                    c.css(h.position,
                        a/2)
                }
                var i={};
            
                i[h.size]=g=="show"?a:0;
                i[h.position]=g=="show"?0:a/2;
                c.animate(i,{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        g=="hide"&&e.hide();
                        b.effects.restore(e,f);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(e[0],arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.drop=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right","opacity"],g=b.effects.setMode(e,d.options.mode||"hide"),a=d.options.direction||"left";
                b.effects.save(e,f);
                e.show();
                b.effects.createWrapper(e);
                var c=a=="up"||a=="down"?"top":"left";
                a=a=="up"||a=="left"?"pos":"neg";
                var h=d.options.distance||(c=="top"?e.outerHeight({
                    margin:true
                })/2:e.outerWidth({
                    margin:true
                })/2);
                if(g=="show")e.css("opacity",0).css(c,a=="pos"?-h:h);
                var i={
                    opacity:g==
                    "show"?1:0
                };
                
                i[c]=(g=="show"?a=="pos"?"+=":"-=":a=="pos"?"-=":"+=")+h;
                e.animate(i,{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        g=="hide"&&e.hide();
                        b.effects.restore(e,f);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(this,arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.explode=function(d){
            return this.queue(function(){
                var e=d.options.pieces?Math.round(Math.sqrt(d.options.pieces)):3,f=d.options.pieces?Math.round(Math.sqrt(d.options.pieces)):3;
                d.options.mode=d.options.mode=="toggle"?b(this).is(":visible")?"hide":"show":d.options.mode;
                var g=b(this).show().css("visibility","hidden"),a=g.offset();
                a.top-=parseInt(g.css("marginTop"),10)||0;
                a.left-=parseInt(g.css("marginLeft"),10)||0;
                for(var c=g.outerWidth(true),h=g.outerHeight(true),i=0;i<e;i++)for(var j=
                    0;j<f;j++)g.clone().appendTo("body").wrap("<div></div>").css({
                    position:"absolute",
                    visibility:"visible",
                    left:-j*(c/f),
                    top:-i*(h/e)
                }).parent().addClass("ui-effects-explode").css({
                    position:"absolute",
                    overflow:"hidden",
                    width:c/f,
                    height:h/e,
                    left:a.left+j*(c/f)+(d.options.mode=="show"?(j-Math.floor(f/2))*(c/f):0),
                    top:a.top+i*(h/e)+(d.options.mode=="show"?(i-Math.floor(e/2))*(h/e):0),
                    opacity:d.options.mode=="show"?0:1
                }).animate({
                    left:a.left+j*(c/f)+(d.options.mode=="show"?0:(j-Math.floor(f/2))*(c/f)),
                    top:a.top+
                    i*(h/e)+(d.options.mode=="show"?0:(i-Math.floor(e/2))*(h/e)),
                    opacity:d.options.mode=="show"?1:0
                },d.duration||500);
                setTimeout(function(){
                    d.options.mode=="show"?g.css({
                        visibility:"visible"
                    }):g.css({
                        visibility:"visible"
                    }).hide();
                    d.callback&&d.callback.apply(g[0]);
                    g.dequeue();
                    b("div.ui-effects-explode").remove()
                },d.duration||500)
            })
        }
    })(jQuery);
    (function(b){
        b.effects.fade=function(d){
            return this.queue(function(){
                var e=b(this),f=b.effects.setMode(e,d.options.mode||"hide");
                e.animate({
                    opacity:f
                },{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        d.callback&&d.callback.apply(this,arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.fold=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right"],g=b.effects.setMode(e,d.options.mode||"hide"),a=d.options.size||15,c=!!d.options.horizFirst,h=d.duration?d.duration/2:b.fx.speeds._default/2;
                b.effects.save(e,f);
                e.show();
                var i=b.effects.createWrapper(e).css({
                    overflow:"hidden"
                }),j=g=="show"!=c,n=j?["width","height"]:["height","width"];
                j=j?[i.width(),i.height()]:[i.height(),i.width()];
                var o=/([0-9]+)%/.exec(a);
                if(o)a=parseInt(o[1],
                    10)/100*j[g=="hide"?0:1];
                if(g=="show")i.css(c?{
                    height:0,
                    width:a
                }:{
                    height:a,
                    width:0
                });
                c={};
            
                o={};
            
                c[n[0]]=g=="show"?j[0]:a;
                o[n[1]]=g=="show"?j[1]:0;
                i.animate(c,h,d.options.easing).animate(o,h,d.options.easing,function(){
                    g=="hide"&&e.hide();
                    b.effects.restore(e,f);
                    b.effects.removeWrapper(e);
                    d.callback&&d.callback.apply(e[0],arguments);
                    e.dequeue()
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.highlight=function(d){
            return this.queue(function(){
                var e=b(this),f=["backgroundImage","backgroundColor","opacity"],g=b.effects.setMode(e,d.options.mode||"show"),a={
                    backgroundColor:e.css("backgroundColor")
                };
                
                if(g=="hide")a.opacity=0;
                b.effects.save(e,f);
                e.show().css({
                    backgroundImage:"none",
                    backgroundColor:d.options.color||"#ffff99"
                }).animate(a,{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        g=="hide"&&e.hide();
                        b.effects.restore(e,f);
                        g=="show"&&!b.support.opacity&&
                        this.style.removeAttribute("filter");
                        d.callback&&d.callback.apply(this,arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.pulsate=function(d){
            return this.queue(function(){
                var e=b(this),f=b.effects.setMode(e,d.options.mode||"show");
                times=(d.options.times||5)*2-1;
                duration=d.duration?d.duration/2:b.fx.speeds._default/2;
                isVisible=e.is(":visible");
                animateTo=0;
                if(!isVisible){
                    e.css("opacity",0).show();
                    animateTo=1
                }
                if(f=="hide"&&isVisible||f=="show"&&!isVisible)times--;
                for(f=0;f<times;f++){
                    e.animate({
                        opacity:animateTo
                    },duration,d.options.easing);
                    animateTo=(animateTo+1)%2
                }
                e.animate({
                    opacity:animateTo
                },duration,
                d.options.easing,function(){
                    animateTo==0&&e.hide();
                    d.callback&&d.callback.apply(this,arguments)
                });
                e.queue("fx",function(){
                    e.dequeue()
                }).dequeue()
            })
        }
    })(jQuery);
    (function(b){
        b.effects.puff=function(d){
            return this.queue(function(){
                var e=b(this),f=b.effects.setMode(e,d.options.mode||"hide"),g=parseInt(d.options.percent,10)||150,a=g/100,c={
                    height:e.height(),
                    width:e.width()
                };
                
                b.extend(d.options,{
                    fade:true,
                    mode:f,
                    percent:f=="hide"?g:100,
                    from:f=="hide"?c:{
                        height:c.height*a,
                        width:c.width*a
                    }
                });
                e.effect("scale",d.options,d.duration,d.callback);
                e.dequeue()
            })
        };
    
        b.effects.scale=function(d){
            return this.queue(function(){
                var e=b(this),f=b.extend(true,{},d.options),g=b.effects.setMode(e,
                    d.options.mode||"effect"),a=parseInt(d.options.percent,10)||(parseInt(d.options.percent,10)==0?0:g=="hide"?0:100),c=d.options.direction||"both",h=d.options.origin;
                if(g!="effect"){
                    f.origin=h||["middle","center"];
                    f.restore=true
                }
                h={
                    height:e.height(),
                    width:e.width()
                };
            
                e.from=d.options.from||(g=="show"?{
                    height:0,
                    width:0
                }:h);
                a={
                    y:c!="horizontal"?a/100:1,
                    x:c!="vertical"?a/100:1
                };
            
                e.to={
                    height:h.height*a.y,
                    width:h.width*a.x
                };
            
                if(d.options.fade){
                    if(g=="show"){
                        e.from.opacity=0;
                        e.to.opacity=1
                    }
                    if(g=="hide"){
                        e.from.opacity=
                        1;
                        e.to.opacity=0
                    }
                }
                f.from=e.from;
                f.to=e.to;
                f.mode=g;
                e.effect("size",f,d.duration,d.callback);
                e.dequeue()
            })
        };

        b.effects.size=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],a=["width","height","overflow"],c=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
                j=b.effects.setMode(e,d.options.mode||"effect"),n=d.options.restore||false,o=d.options.scale||"both",l=d.options.origin,k={
                    height:e.height(),
                    width:e.width()
                };
            
                e.from=d.options.from||k;
                e.to=d.options.to||k;
                if(l){
                    l=b.effects.getBaseline(l,k);
                    e.from.top=(k.height-e.from.height)*l.y;
                    e.from.left=(k.width-e.from.width)*l.x;
                    e.to.top=(k.height-e.to.height)*l.y;
                    e.to.left=(k.width-e.to.width)*l.x
                }
                var m={
                    from:{
                        y:e.from.height/k.height,
                        x:e.from.width/k.width
                    },
                    to:{
                        y:e.to.height/k.height,
                        x:e.to.width/k.width
                    }
                };
                if(o=="box"||o=="both"){
                    if(m.from.y!=m.to.y){
                        f=f.concat(h);
                        e.from=b.effects.setTransition(e,h,m.from.y,e.from);
                        e.to=b.effects.setTransition(e,h,m.to.y,e.to)
                    }
                    if(m.from.x!=m.to.x){
                        f=f.concat(i);
                        e.from=b.effects.setTransition(e,i,m.from.x,e.from);
                        e.to=b.effects.setTransition(e,i,m.to.x,e.to)
                    }
                }
                if(o=="content"||o=="both")if(m.from.y!=m.to.y){
                    f=f.concat(c);
                    e.from=b.effects.setTransition(e,c,m.from.y,e.from);
                    e.to=b.effects.setTransition(e,c,m.to.y,e.to)
                }
                b.effects.save(e,n?f:g);
                e.show();
                b.effects.createWrapper(e);
                e.css("overflow","hidden").css(e.from);
                if(o=="content"||o=="both"){
                    h=h.concat(["marginTop","marginBottom"]).concat(c);
                    i=i.concat(["marginLeft","marginRight"]);
                    a=f.concat(h).concat(i);
                    e.find("*[width]").each(function(){
                        child=b(this);
                        n&&b.effects.save(child,a);
                        var p={
                            height:child.height(),
                            width:child.width()
                        };
                
                        child.from={
                            height:p.height*m.from.y,
                            width:p.width*m.from.x
                        };
                
                        child.to={
                            height:p.height*m.to.y,
                            width:p.width*m.to.x
                        };
                
                        if(m.from.y!=m.to.y){
                            child.from=b.effects.setTransition(child,h,m.from.y,child.from);
                            child.to=b.effects.setTransition(child,h,m.to.y,child.to)
                        }
                        if(m.from.x!=m.to.x){
                            child.from=b.effects.setTransition(child,i,m.from.x,child.from);
                            child.to=b.effects.setTransition(child,i,m.to.x,child.to)
                        }
                        child.css(child.from);
                        child.animate(child.to,d.duration,d.options.easing,function(){
                            n&&b.effects.restore(child,a)
                        })
                    })
                }
                e.animate(e.to,{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        e.to.opacity===0&&e.css("opacity",e.from.opacity);
                        j=="hide"&&e.hide();
                        b.effects.restore(e,
                            n?f:g);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(this,arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.shake=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right"];
                b.effects.setMode(e,d.options.mode||"effect");
                var g=d.options.direction||"left",a=d.options.distance||20,c=d.options.times||3,h=d.duration||d.options.duration||140;
                b.effects.save(e,f);
                e.show();
                b.effects.createWrapper(e);
                var i=g=="up"||g=="down"?"top":"left",j=g=="up"||g=="left"?"pos":"neg";
                g={};
            
                var n={},o={};
            
                g[i]=(j=="pos"?"-=":"+=")+a;
                n[i]=(j=="pos"?"+=":"-=")+a*2;
                o[i]=
                (j=="pos"?"-=":"+=")+a*2;
                e.animate(g,h,d.options.easing);
                for(a=1;a<c;a++)e.animate(n,h,d.options.easing).animate(o,h,d.options.easing);
                e.animate(n,h,d.options.easing).animate(g,h/2,d.options.easing,function(){
                    b.effects.restore(e,f);
                    b.effects.removeWrapper(e);
                    d.callback&&d.callback.apply(this,arguments)
                });
                e.queue("fx",function(){
                    e.dequeue()
                });
                e.dequeue()
            })
        }
    })(jQuery);
    (function(b){
        b.effects.slide=function(d){
            return this.queue(function(){
                var e=b(this),f=["position","top","bottom","left","right"],g=b.effects.setMode(e,d.options.mode||"show"),a=d.options.direction||"left";
                b.effects.save(e,f);
                e.show();
                b.effects.createWrapper(e).css({
                    overflow:"hidden"
                });
                var c=a=="up"||a=="down"?"top":"left";
                a=a=="up"||a=="left"?"pos":"neg";
                var h=d.options.distance||(c=="top"?e.outerHeight({
                    margin:true
                }):e.outerWidth({
                    margin:true
                }));
                if(g=="show")e.css(c,a=="pos"?isNaN(h)?"-"+h:-h:h);
                var i={};
            
                i[c]=(g=="show"?a=="pos"?"+=":"-=":a=="pos"?"-=":"+=")+h;
                e.animate(i,{
                    queue:false,
                    duration:d.duration,
                    easing:d.options.easing,
                    complete:function(){
                        g=="hide"&&e.hide();
                        b.effects.restore(e,f);
                        b.effects.removeWrapper(e);
                        d.callback&&d.callback.apply(this,arguments);
                        e.dequeue()
                    }
                })
            })
        }
    })(jQuery);
    (function(b){
        b.effects.transfer=function(d){
            return this.queue(function(){
                var e=b(this),f=b(d.options.to),g=f.offset();
                f={
                    top:g.top,
                    left:g.left,
                    height:f.innerHeight(),
                    width:f.innerWidth()
                };
                
                g=e.offset();
                var a=b('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(d.options.className).css({
                    top:g.top,
                    left:g.left,
                    height:e.innerHeight(),
                    width:e.innerWidth(),
                    position:"absolute"
                }).animate(f,d.duration,d.options.easing,function(){
                    a.remove();
                    d.callback&&d.callback.apply(e[0],arguments);
                    e.dequeue()
                })
            })
        }
    })(jQuery);
    (function(b){
        b.widget("ui.accordion",{
            options:{
                active:0,
                animated:"slide",
                autoHeight:true,
                clearStyle:false,
                collapsible:false,
                event:"click",
                fillSpace:false,
                header:"> li > :first-child,> :not(li):even",
                icons:{
                    header:"ui-icon-triangle-1-e",
                    headerSelected:"ui-icon-triangle-1-s"
                },
                navigation:false,
                navigationFilter:function(){
                    return this.href.toLowerCase()===location.href.toLowerCase()
                }
            },
            _create:function(){
                var d=this,e=d.options;
                d.running=0;
                d.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
                d.headers=
                d.element.find(e.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){
                    e.disabled||b(this).addClass("ui-state-hover")
                }).bind("mouseleave.accordion",function(){
                    e.disabled||b(this).removeClass("ui-state-hover")
                }).bind("focus.accordion",function(){
                    e.disabled||b(this).addClass("ui-state-focus")
                }).bind("blur.accordion",function(){
                    e.disabled||b(this).removeClass("ui-state-focus")
                });
                d.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
                if(e.navigation){
                    var f=d.element.find("a").filter(e.navigationFilter).eq(0);
                    if(f.length){
                        var g=f.closest(".ui-accordion-header");
                        d.active=g.length?g:f.closest(".ui-accordion-content").prev()
                    }
                }
                d.active=d._findActive(d.active||e.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");
                d.active.next().addClass("ui-accordion-content-active");
                d._createIcons();
                d.resize();
                d.element.attr("role","tablist");
                d.headers.attr("role","tab").bind("keydown.accordion",
                    function(a){
                        return d._keydown(a)
                    }).next().attr("role","tabpanel");
                d.headers.not(d.active||"").attr({
                    "aria-expanded":"false",
                    "aria-selected":"false",
                    tabIndex:-1
                }).next().hide();
                d.active.length?d.active.attr({
                    "aria-expanded":"true",
                    "aria-selected":"true",
                    tabIndex:0
                }):d.headers.eq(0).attr("tabIndex",0);
                b.browser.safari||d.headers.find("a").attr("tabIndex",-1);
                e.event&&d.headers.bind(e.event.split(" ").join(".accordion ")+".accordion",function(a){
                    d._clickHandler.call(d,a,this);
                    a.preventDefault()
                })
            },
            _createIcons:function(){
                var d=
                this.options;
                if(d.icons){
                    b("<span></span>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);
                    this.active.children(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);
                    this.element.addClass("ui-accordion-icons")
                }
            },
            _destroyIcons:function(){
                this.headers.children(".ui-icon").remove();
                this.element.removeClass("ui-accordion-icons")
            },
            destroy:function(){
                var d=this.options;
                this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");
                this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
                this.headers.find("a").removeAttr("tabIndex");
                this._destroyIcons();
                var e=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");
                if(d.autoHeight||d.fillHeight)e.css("height","");
                return b.Widget.prototype.destroy.call(this)
            },
            _setOption:function(d,e){
                b.Widget.prototype._setOption.apply(this,arguments);
                d=="active"&&this.activate(e);
                if(d=="icons"){
                    this._destroyIcons();
                    e&&this._createIcons()
                }
                if(d=="disabled")this.headers.add(this.headers.next())[e?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")
            },
            _keydown:function(d){
                if(!(this.options.disabled||d.altKey||d.ctrlKey)){
                    var e=b.ui.keyCode,f=this.headers.length,g=this.headers.index(d.target),a=false;
                    switch(d.keyCode){
                        case e.RIGHT:case e.DOWN:
                            a=this.headers[(g+1)%f];
                            break;
                        case e.LEFT:case e.UP:
                            a=this.headers[(g-1+f)%f];
                            break;
                        case e.SPACE:case e.ENTER:
                            this._clickHandler({
                                target:d.target
                            },d.target);
                            d.preventDefault()
                    }
                    if(a){
                        b(d.target).attr("tabIndex",-1);
                        b(a).attr("tabIndex",0);
                        a.focus();
                        return false
                    }
                    return true
                }
            },
            resize:function(){
                var d=this.options,e;
                if(d.fillSpace){
                    if(b.browser.msie){
                        var f=this.element.parent().css("overflow");
                        this.element.parent().css("overflow","hidden")
                    }
                    e=this.element.parent().height();
                    b.browser.msie&&this.element.parent().css("overflow",f);
                    this.headers.each(function(){
                        e-=b(this).outerHeight(true)
                    });
                    this.headers.next().each(function(){
                        b(this).height(Math.max(0,e-b(this).innerHeight()+
                            b(this).height()))
                    }).css("overflow","auto")
                }else if(d.autoHeight){
                    e=0;
                    this.headers.next().each(function(){
                        e=Math.max(e,b(this).height("").height())
                    }).height(e)
                }
                return this
            },
            activate:function(d){
                this.options.active=d;
                d=this._findActive(d)[0];
                this._clickHandler({
                    target:d
                },d);
                return this
            },
            _findActive:function(d){
                return d?typeof d==="number"?this.headers.filter(":eq("+d+")"):this.headers.not(this.headers.not(d)):d===false?b([]):this.headers.filter(":eq(0)")
            },
            _clickHandler:function(d,e){
                var f=this.options;
                if(!f.disabled)if(d.target){
                    d=b(d.currentTarget||e);
                    e=d[0]===this.active[0];
                    f.active=f.collapsible&&e?false:this.headers.index(d);
                    if(!(this.running||!f.collapsible&&e)){
                        var g=this.active;
                        i=d.next();
                        c=this.active.next();
                        h={
                            options:f,
                            newHeader:e&&f.collapsible?b([]):d,
                            oldHeader:this.active,
                            newContent:e&&f.collapsible?b([]):i,
                            oldContent:c
                        };
            
                        var a=this.headers.index(this.active[0])>this.headers.index(d[0]);
                        this.active=e?b([]):d;
                        this._toggle(i,c,h,e,a);
                        g.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header);
                        if(!e){
                            d.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(f.icons.header).addClass(f.icons.headerSelected);
                            d.next().addClass("ui-accordion-content-active")
                        }
                    }
                }else if(f.collapsible){
                    this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header);
                    this.active.next().addClass("ui-accordion-content-active");
                    var c=this.active.next(),
                    h={
                        options:f,
                        newHeader:b([]),
                        oldHeader:f.active,
                        newContent:b([]),
                        oldContent:c
                    },i=this.active=b([]);
                    this._toggle(i,c,h)
                }
            },
            _toggle:function(d,e,f,g,a){
                var c=this,h=c.options;
                c.toShow=d;
                c.toHide=e;
                c.data=f;
                var i=function(){
                    if(c)return c._completed.apply(c,arguments)
                };
            
                c._trigger("changestart",null,c.data);
                c.running=e.size()===0?d.size():e.size();
                if(h.animated){
                    f={};
        
                    f=h.collapsible&&g?{
                        toShow:b([]),
                        toHide:e,
                        complete:i,
                        down:a,
                        autoHeight:h.autoHeight||h.fillSpace
                    }:{
                        toShow:d,
                        toHide:e,
                        complete:i,
                        down:a,
                        autoHeight:h.autoHeight||
                        h.fillSpace
                    };
            
                    if(!h.proxied)h.proxied=h.animated;
                    if(!h.proxiedDuration)h.proxiedDuration=h.duration;
                    h.animated=b.isFunction(h.proxied)?h.proxied(f):h.proxied;
                    h.duration=b.isFunction(h.proxiedDuration)?h.proxiedDuration(f):h.proxiedDuration;
                    g=b.ui.accordion.animations;
                    var j=h.duration,n=h.animated;
                    if(n&&!g[n]&&!b.easing[n])n="slide";
                    g[n]||(g[n]=function(o){
                        this.slide(o,{
                            easing:n,
                            duration:j||700
                        })
                    });
                    g[n](f)
                }else{
                    if(h.collapsible&&g)d.toggle();
                    else{
                        e.hide();
                        d.show()
                    }
                    i(true)
                }
                e.prev().attr({
                    "aria-expanded":"false",
                    "aria-selected":"false",
                    tabIndex:-1
                }).blur();
                d.prev().attr({
                    "aria-expanded":"true",
                    "aria-selected":"true",
                    tabIndex:0
                }).focus()
            },
            _completed:function(d){
                this.running=d?0:--this.running;
                if(!this.running){
                    this.options.clearStyle&&this.toShow.add(this.toHide).css({
                        height:"",
                        overflow:""
                    });
                    this.toHide.removeClass("ui-accordion-content-active");
                    if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;
                    this._trigger("change",null,this.data)
                }
            }
        });
        b.extend(b.ui.accordion,{
            version:"1.8.12",
            animations:{
                slide:function(d,e){
                    d=b.extend({
                        easing:"swing",
                        duration:300
                    },d,e);
                    if(d.toHide.size())if(d.toShow.size()){
                        var f=d.toShow.css("overflow"),g=0,a={},c={},h;
                        e=d.toShow;
                        h=e[0].style.width;
                        e.width(parseInt(e.parent().width(),10)-parseInt(e.css("paddingLeft"),10)-parseInt(e.css("paddingRight"),10)-(parseInt(e.css("borderLeftWidth"),10)||0)-(parseInt(e.css("borderRightWidth"),10)||0));
                        b.each(["height","paddingTop","paddingBottom"],function(i,j){
                            c[j]="hide";
                            i=(""+b.css(d.toShow[0],j)).match(/^([\d+-.]+)(.*)$/);
                            a[j]={
                                value:i[1],
                                unit:i[2]||"px"
                            }
                        });
                        d.toShow.css({
                            height:0,
                            overflow:"hidden"
                        }).show();
                        d.toHide.filter(":hidden").each(d.complete).end().filter(":visible").animate(c,{
                            step:function(i,j){
                                if(j.prop=="height")g=j.end-j.start===0?0:(j.now-j.start)/(j.end-j.start);
                                d.toShow[0].style[j.prop]=g*a[j.prop].value+a[j.prop].unit
                            },
                            duration:d.duration,
                            easing:d.easing,
                            complete:function(){
                                d.autoHeight||d.toShow.css("height","");
                                d.toShow.css({
                                    width:h,
                                    overflow:f
                                });
                                d.complete()
                            }
                        })
                    }else d.toHide.animate({
                        height:"hide",
                        paddingTop:"hide",
                        paddingBottom:"hide"
                    },d);else d.toShow.animate({
                        height:"show",
                        paddingTop:"show",
                        paddingBottom:"show"
                    },d)
                },
                bounceslide:function(d){
                    this.slide(d,{
                        easing:d.down?"easeOutBounce":"swing",
                        duration:d.down?1E3:200
                    })
                }
            }
        })
    })(jQuery);
    (function(b){
        var d=0;
        b.widget("ui.autocomplete",{
            options:{
                appendTo:"body",
                autoFocus:false,
                delay:300,
                minLength:1,
                position:{
                    my:"left top",
                    at:"left bottom",
                    collision:"none"
                },
                source:null
            },
            pending:0,
            _create:function(){
                var e=this,f=this.element[0].ownerDocument,g;
                this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({
                    role:"textbox",
                    "aria-autocomplete":"list",
                    "aria-haspopup":"true"
                }).bind("keydown.autocomplete",function(a){
                    if(!(e.options.disabled||e.element.attr("readonly"))){
                        g=
                        false;
                        var c=b.ui.keyCode;
                        switch(a.keyCode){
                            case c.PAGE_UP:
                                e._move("previousPage",a);
                                break;
                            case c.PAGE_DOWN:
                                e._move("nextPage",a);
                                break;
                            case c.UP:
                                e._move("previous",a);
                                a.preventDefault();
                                break;
                            case c.DOWN:
                                e._move("next",a);
                                a.preventDefault();
                                break;
                            case c.ENTER:case c.NUMPAD_ENTER:
                                if(e.menu.active){
                                    g=true;
                                    a.preventDefault()
                                }
                            case c.TAB:
                                if(!e.menu.active)return;
                                e.menu.select(a);
                                break;
                            case c.ESCAPE:
                                e.element.val(e.term);
                                e.close(a);
                                break;
                            default:
                                clearTimeout(e.searching);
                                e.searching=setTimeout(function(){
                                    if(e.term!=
                                        e.element.val()){
                                        e.selectedItem=null;
                                        e.search(null,a)
                                    }
                                },e.options.delay);
                                break
                        }
                    }
                }).bind("keypress.autocomplete",function(a){
                    if(g){
                        g=false;
                        a.preventDefault()
                    }
                }).bind("focus.autocomplete",function(){
                    if(!e.options.disabled){
                        e.selectedItem=null;
                        e.previous=e.element.val()
                    }
                }).bind("blur.autocomplete",function(a){
                    if(!e.options.disabled){
                        clearTimeout(e.searching);
                        e.closing=setTimeout(function(){
                            e.close(a);
                            e._change(a)
                        },150)
                    }
                });
                this._initSource();
                this.response=function(){
                    return e._response.apply(e,arguments)
                };
                this.menu=b("<ul></ul>").addClass("ui-autocomplete").appendTo(b(this.options.appendTo||"body",f)[0]).mousedown(function(a){
                    var c=e.menu.element[0];
                    b(a.target).closest(".ui-menu-item").length||setTimeout(function(){
                        b(document).one("mousedown",function(h){
                            h.target!==e.element[0]&&h.target!==c&&!b.ui.contains(c,h.target)&&e.close()
                        })
                    },1);
                    setTimeout(function(){
                        clearTimeout(e.closing)
                    },13)
                }).menu({
                    focus:function(a,c){
                        c=c.item.data("item.autocomplete");
                        false!==e._trigger("focus",a,{
                            item:c
                        })&&/^key/.test(a.originalEvent.type)&&
                        e.element.val(c.value)
                    },
                    selected:function(a,c){
                        var h=c.item.data("item.autocomplete"),i=e.previous;
                        if(e.element[0]!==f.activeElement){
                            e.element.focus();
                            e.previous=i;
                            setTimeout(function(){
                                e.previous=i;
                                e.selectedItem=h
                            },1)
                        }
                        false!==e._trigger("select",a,{
                            item:h
                        })&&e.element.val(h.value);
                        e.term=e.element.val();
                        e.close(a);
                        e.selectedItem=h
                    },
                    blur:function(){
                        e.menu.element.is(":visible")&&e.element.val()!==e.term&&e.element.val(e.term)
                    }
                }).zIndex(this.element.zIndex()+1).css({
                    top:0,
                    left:0
                }).hide().data("menu");
                b.fn.bgiframe&&this.menu.element.bgiframe()
            },
            destroy:function(){
                this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
                this.menu.element.remove();
                b.Widget.prototype.destroy.call(this)
            },
            _setOption:function(e,f){
                b.Widget.prototype._setOption.apply(this,arguments);
                e==="source"&&this._initSource();
                if(e==="appendTo")this.menu.element.appendTo(b(f||"body",this.element[0].ownerDocument)[0]);
                e==="disabled"&&
                f&&this.xhr&&this.xhr.abort()
            },
            _initSource:function(){
                var e=this,f,g;
                if(b.isArray(this.options.source)){
                    f=this.options.source;
                    this.source=function(a,c){
                        c(b.ui.autocomplete.filter(f,a.term))
                    }
                }else if(typeof this.options.source==="string"){
                    g=this.options.source;
                    this.source=function(a,c){
                        e.xhr&&e.xhr.abort();
                        e.xhr=b.ajax({
                            url:g,
                            data:a,
                            dataType:"json",
                            autocompleteRequest:++d,
                            success:function(h){
                                this.autocompleteRequest===d&&c(h)
                            },
                            error:function(){
                                this.autocompleteRequest===d&&c([])
                            }
                        })
                    }
                }else this.source=
                    this.options.source
            },
            search:function(e,f){
                e=e!=null?e:this.element.val();
                this.term=this.element.val();
                if(e.length<this.options.minLength)return this.close(f);
                clearTimeout(this.closing);
                if(this._trigger("search",f)!==false)return this._search(e)
            },
            _search:function(e){
                this.pending++;
                this.element.addClass("ui-autocomplete-loading");
                this.source({
                    term:e
                },this.response)
            },
            _response:function(e){
                if(!this.options.disabled&&e&&e.length){
                    e=this._normalize(e);
                    this._suggest(e);
                    this._trigger("open")
                }else this.close();
                this.pending--;
                this.pending||this.element.removeClass("ui-autocomplete-loading")
            },
            close:function(e){
                clearTimeout(this.closing);
                if(this.menu.element.is(":visible")){
                    this.menu.element.hide();
                    this.menu.deactivate();
                    this._trigger("close",e)
                }
            },
            _change:function(e){
                this.previous!==this.element.val()&&this._trigger("change",e,{
                    item:this.selectedItem
                })
            },
            _normalize:function(e){
                if(e.length&&e[0].label&&e[0].value)return e;
                return b.map(e,function(f){
                    if(typeof f==="string")return{
                        label:f,
                        value:f
                    };
        
                    return b.extend({
                        label:f.label||
                        f.value,
                        value:f.value||f.label
                    },f)
                })
            },
            _suggest:function(e){
                var f=this.menu.element.empty().zIndex(this.element.zIndex()+1);
                this._renderMenu(f,e);
                this.menu.deactivate();
                this.menu.refresh();
                f.show();
                this._resizeMenu();
                f.position(b.extend({
                    of:this.element
                },this.options.position));
                this.options.autoFocus&&this.menu.next(new b.Event("mouseover"))
            },
            _resizeMenu:function(){
                var e=this.menu.element;
                e.outerWidth(Math.max(e.width("").outerWidth(),this.element.outerWidth()))
            },
            _renderMenu:function(e,f){
                var g=this;
                b.each(f,function(a,c){
                    g._renderItem(e,c)
                })
            },
            _renderItem:function(e,f){
                return b("<li></li>").data("item.autocomplete",f).append(b("<a></a>").text(f.label)).appendTo(e)
            },
            _move:function(e,f){
                if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(e)||this.menu.last()&&/^next/.test(e)){
                    this.element.val(this.term);
                    this.menu.deactivate()
                }else this.menu[e](f);else this.search(null,f)
            },
            widget:function(){
                return this.menu.element
            }
        });
        b.extend(b.ui.autocomplete,{
            escapeRegex:function(e){
                return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
                    "\\$&")
            },
            filter:function(e,f){
                var g=new RegExp(b.ui.autocomplete.escapeRegex(f),"i");
                return b.grep(e,function(a){
                    return g.test(a.label||a.value||a)
                })
            }
        })
    })(jQuery);
    (function(b){
        b.widget("ui.menu",{
            _create:function(){
                var d=this;
                this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({
                    role:"listbox",
                    "aria-activedescendant":"ui-active-menuitem"
                }).click(function(e){
                    if(b(e.target).closest(".ui-menu-item a").length){
                        e.preventDefault();
                        d.select(e)
                    }
                });
                this.refresh()
            },
            refresh:function(){
                var d=this;
                this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
                    -1).mouseenter(function(e){
                    d.activate(e,b(this).parent())
                }).mouseleave(function(){
                    d.deactivate()
                })
            },
            activate:function(d,e){
                this.deactivate();
                if(this.hasScroll()){
                    var f=e.offset().top-this.element.offset().top,g=this.element.attr("scrollTop"),a=this.element.height();
                    if(f<0)this.element.attr("scrollTop",g+f);else f>=a&&this.element.attr("scrollTop",g+f-a+e.height())
                }
                this.active=e.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();
                this._trigger("focus",d,{
                    item:e
                })
            },
            deactivate:function(){
                if(this.active){
                    this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
                    this._trigger("blur");
                    this.active=null
                }
            },
            next:function(d){
                this.move("next",".ui-menu-item:first",d)
            },
            previous:function(d){
                this.move("prev",".ui-menu-item:last",d)
            },
            first:function(){
                return this.active&&!this.active.prevAll(".ui-menu-item").length
            },
            last:function(){
                return this.active&&!this.active.nextAll(".ui-menu-item").length
            },
            move:function(d,e,f){
                if(this.active){
                    d=this.active[d+"All"](".ui-menu-item").eq(0);
                    d.length?this.activate(f,d):this.activate(f,this.element.children(e))
                }else this.activate(f,this.element.children(e))
            },
            nextPage:function(d){
                if(this.hasScroll())if(!this.active||this.last())this.activate(d,this.element.children(".ui-menu-item:first"));
                    else{
                        var e=this.active.offset().top,f=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){
                            var a=b(this).offset().top-e-f+b(this).height();
                            return a<10&&a>-10
                        });
                        g.length||(g=this.element.children(".ui-menu-item:last"));
                        this.activate(d,
                            g)
                    }else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))
            },
            previousPage:function(d){
                if(this.hasScroll())if(!this.active||this.first())this.activate(d,this.element.children(".ui-menu-item:last"));
                    else{
                        var e=this.active.offset().top,f=this.element.height();
                        result=this.element.children(".ui-menu-item").filter(function(){
                            var g=b(this).offset().top-e+f-b(this).height();
                            return g<10&&g>-10
                        });
                        result.length||(result=this.element.children(".ui-menu-item:first"));
                        this.activate(d,result)
                    }else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))
            },
            hasScroll:function(){
                return this.element.height()<this.element.attr("scrollHeight")
            },
            select:function(d){
                this._trigger("selected",d,{
                    item:this.active
                })
            }
        })
    })(jQuery);
    (function(b){
        var d,e=function(g){
            b(":ui-button",g.target.form).each(function(){
                var a=b(this).data("button");
                setTimeout(function(){
                    a.refresh()
                },1)
            })
        },f=function(g){
            var a=g.name,c=g.form,h=b([]);
            if(a)h=c?b(c).find("[name='"+a+"']"):b("[name='"+a+"']",g.ownerDocument).filter(function(){
                return!this.form
            });
            return h
        };
        
        b.widget("ui.button",{
            options:{
                disabled:null,
                text:true,
                label:null,
                icons:{
                    primary:null,
                    secondary:null
                }
            },
            _create:function(){
                this.element.closest("form").unbind("reset.button").bind("reset.button",
                    e);
                if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");
                this._determineButtonType();
                this.hasTitle=!!this.buttonElement.attr("title");
                var g=this,a=this.options,c=this.type==="checkbox"||this.type==="radio",h="ui-state-hover"+(!c?" ui-state-active":"");
                if(a.label===null)a.label=this.buttonElement.html();
                if(this.element.is(":disabled"))a.disabled=true;
                this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",
                    function(){
                        if(!a.disabled){
                            b(this).addClass("ui-state-hover");
                            this===d&&b(this).addClass("ui-state-active")
                        }
                    }).bind("mouseleave.button",function(){
                    a.disabled||b(this).removeClass(h)
                }).bind("focus.button",function(){
                    b(this).addClass("ui-state-focus")
                }).bind("blur.button",function(){
                    b(this).removeClass("ui-state-focus")
                });
                c&&this.element.bind("change.button",function(){
                    g.refresh()
                });
                if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){
                    if(a.disabled)return false;
                    b(this).toggleClass("ui-state-active");
                    g.buttonElement.attr("aria-pressed",g.element[0].checked)
                });
                else if(this.type==="radio")this.buttonElement.bind("click.button",function(){
                    if(a.disabled)return false;
                    b(this).addClass("ui-state-active");
                    g.buttonElement.attr("aria-pressed",true);
                    var i=g.element[0];
                    f(i).not(i).map(function(){
                        return b(this).button("widget")[0]
                    }).removeClass("ui-state-active").attr("aria-pressed",false)
                });
                else{
                    this.buttonElement.bind("mousedown.button",function(){
                        if(a.disabled)return false;
                        b(this).addClass("ui-state-active");
                        d=this;
                        b(document).one("mouseup",function(){
                            d=null
                        })
                    }).bind("mouseup.button",function(){
                        if(a.disabled)return false;
                        b(this).removeClass("ui-state-active")
                    }).bind("keydown.button",function(i){
                        if(a.disabled)return false;
                        if(i.keyCode==b.ui.keyCode.SPACE||i.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")
                    }).bind("keyup.button",function(){
                        b(this).removeClass("ui-state-active")
                    });
                    this.buttonElement.is("a")&&this.buttonElement.keyup(function(i){
                        i.keyCode===b.ui.keyCode.SPACE&&b(this).click()
                    })
                }
                this._setOption("disabled",
                    a.disabled)
            },
            _determineButtonType:function(){
                this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";
                if(this.type==="checkbox"||this.type==="radio"){
                    var g=this.element.parents().filter(":last"),a="label[for="+this.element.attr("id")+"]";
                    this.buttonElement=g.find(a);
                    if(!this.buttonElement.length){
                        g=g.length?g.siblings():this.element.siblings();
                        this.buttonElement=g.filter(a);
                        if(!this.buttonElement.length)this.buttonElement=g.find(a)
                    }
                    this.element.addClass("ui-helper-hidden-accessible");
                    (g=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");
                    this.buttonElement.attr("aria-pressed",g)
                }else this.buttonElement=this.element
            },
            widget:function(){
                return this.buttonElement
            },
            destroy:function(){
                this.element.removeClass("ui-helper-hidden-accessible");
                this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
                this.hasTitle||this.buttonElement.removeAttr("title");
                b.Widget.prototype.destroy.call(this)
            },
            _setOption:function(g,a){
                b.Widget.prototype._setOption.apply(this,arguments);
                if(g==="disabled")a?this.element.attr("disabled",true):this.element.removeAttr("disabled");
                this._resetButton()
            },
            refresh:function(){
                var g=this.element.is(":disabled");
                g!==this.options.disabled&&this._setOption("disabled",g);
                if(this.type==="radio")f(this.element[0]).each(function(){
                    b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
                        true):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)
                });
                else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)
            },
            _resetButton:function(){
                if(this.type==="input")this.options.label&&this.element.val(this.options.label);
                else{
                    var g=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
                    a=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(g.empty()).text(),c=this.options.icons,h=c.primary&&c.secondary,i=[];
                    if(c.primary||c.secondary){
                        if(this.options.text)i.push("ui-button-text-icon"+(h?"s":c.primary?"-primary":"-secondary"));
                        c.primary&&g.prepend("<span class='ui-button-icon-primary ui-icon "+c.primary+"'></span>");
                        c.secondary&&g.append("<span class='ui-button-icon-secondary ui-icon "+c.secondary+"'></span>");
                        if(!this.options.text){
                            i.push(h?"ui-button-icons-only":
                                "ui-button-icon-only");
                            this.hasTitle||g.attr("title",a)
                        }
                    }else i.push("ui-button-text-only");
                    g.addClass(i.join(" "))
                }
            }
        });
        b.widget("ui.buttonset",{
            options:{
                items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"
            },
            _create:function(){
                this.element.addClass("ui-buttonset")
            },
            _init:function(){
                this.refresh()
            },
            _setOption:function(g,a){
                g==="disabled"&&this.buttons.button("option",g,a);
                b.Widget.prototype._setOption.apply(this,arguments)
            },
            refresh:function(){
                this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){
                    return b(this).button("widget")[0]
                }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()
            },
            destroy:function(){
                this.element.removeClass("ui-buttonset");
                this.buttons.map(function(){
                    return b(this).button("widget")[0]
                }).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
                b.Widget.prototype.destroy.call(this)
            }
        })
    })(jQuery);
    (function(b,d){
        function e(){
            this.debug=false;
            this._curInst=null;
            this._keyEvent=false;
            this._disabledInputs=[];
            this._inDialog=this._datepickerShowing=false;
            this._mainDivId="ui-datepicker-div";
            this._inlineClass="ui-datepicker-inline";
            this._appendClass="ui-datepicker-append";
            this._triggerClass="ui-datepicker-trigger";
            this._dialogClass="ui-datepicker-dialog";
            this._disableClass="ui-datepicker-disabled";
            this._unselectableClass="ui-datepicker-unselectable";
            this._currentClass="ui-datepicker-current-day";
            this._dayOverClass=
            "ui-datepicker-days-cell-over";
            this.regional=[];
            this.regional[""]={
                closeText:"Done",
                prevText:"Prev",
                nextText:"Next",
                currentText:"Today",
                monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],
                monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],
                dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
                dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
                dayNamesMin:["Su",
                "Mo","Tu","We","Th","Fr","Sa"],
                weekHeader:"Wk",
                dateFormat:"mm/dd/yy",
                firstDay:0,
                isRTL:false,
                showMonthAfterYear:false,
                yearSuffix:""
            };
        
            this._defaults={
                showOn:"focus",
                showAnim:"fadeIn",
                showOptions:{},
                defaultDate:null,
                appendText:"",
                buttonText:"...",
                buttonImage:"",
                buttonImageOnly:false,
                hideIfNoPrevNext:false,
                navigationAsDateFormat:false,
                gotoCurrent:false,
                changeMonth:false,
                changeYear:false,
                yearRange:"c-10:c+10",
                showOtherMonths:false,
                selectOtherMonths:false,
                showWeek:false,
                calculateWeek:this.iso8601Week,
                shortYearCutoff:"+10",
                minDate:null,
                maxDate:null,
                duration:"fast",
                beforeShowDay:null,
                beforeShow:null,
                onSelect:null,
                onChangeMonthYear:null,
                onClose:null,
                numberOfMonths:1,
                showCurrentAtPos:0,
                stepMonths:1,
                stepBigMonths:12,
                altField:"",
                altFormat:"",
                constrainInput:true,
                showButtonPanel:false,
                autoSize:false
            };
        
            b.extend(this._defaults,this.regional[""]);
            this.dpDiv=b('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')
        }
        function f(a,c){
            b.extend(a,c);
            for(var h in c)if(c[h]==
                null||c[h]==d)a[h]=c[h];return a
        }
        b.extend(b.ui,{
            datepicker:{
                version:"1.8.12"
            }
        });
        var g=(new Date).getTime();
        b.extend(e.prototype,{
            markerClassName:"hasDatepicker",
            log:function(){
                this.debug&&console.log.apply("",arguments)
            },
            _widgetDatepicker:function(){
                return this.dpDiv
            },
            setDefaults:function(a){
                f(this._defaults,a||{});
                return this
            },
            _attachDatepicker:function(a,c){
                var h=null;
                for(var i in this._defaults){
                    var j=a.getAttribute("date:"+i);
                    if(j){
                        h=h||{};
                
                        try{
                            h[i]=eval(j)
                        }catch(n){
                            h[i]=j
                        }
                    }
                }
                i=a.nodeName.toLowerCase();
                j=i=="div"||i=="span";
                if(!a.id){
                    this.uuid+=1;
                    a.id="dp"+this.uuid
                }
                var o=this._newInst(b(a),j);
                o.settings=b.extend({},c||{},h||{});
                if(i=="input")this._connectDatepicker(a,o);else j&&this._inlineDatepicker(a,o)
            },
            _newInst:function(a,c){
                return{
                    id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),
                    input:a,
                    selectedDay:0,
                    selectedMonth:0,
                    selectedYear:0,
                    drawMonth:0,
                    drawYear:0,
                    inline:c,
                    dpDiv:!c?this.dpDiv:b('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')
                }
            },
            _connectDatepicker:function(a,c){
                var h=b(a);
                c.append=b([]);
                c.trigger=b([]);
                if(!h.hasClass(this.markerClassName)){
                    this._attachments(h,c);
                    h.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(i,j,n){
                        c.settings[j]=n
                    }).bind("getData.datepicker",function(i,j){
                        return this._get(c,j)
                    });
                    this._autoSize(c);
                    b.data(a,"datepicker",c)
                }
            },
            _attachments:function(a,c){
                var h=this._get(c,"appendText"),i=this._get(c,"isRTL");
                c.append&&
                c.append.remove();
                if(h){
                    c.append=b('<span class="'+this._appendClass+'">'+h+"</span>");
                    a[i?"before":"after"](c.append)
                }
                a.unbind("focus",this._showDatepicker);
                c.trigger&&c.trigger.remove();
                h=this._get(c,"showOn");
                if(h=="focus"||h=="both")a.focus(this._showDatepicker);
                if(h=="button"||h=="both"){
                    h=this._get(c,"buttonText");
                    var j=this._get(c,"buttonImage");
                    c.trigger=b(this._get(c,"buttonImageOnly")?b("<img/>").addClass(this._triggerClass).attr({
                        src:j,
                        alt:h,
                        title:h
                    }):b('<button type="button"></button>').addClass(this._triggerClass).html(j==
                        ""?h:b("<img/>").attr({
                            src:j,
                            alt:h,
                            title:h
                        })));
                    a[i?"before":"after"](c.trigger);
                    c.trigger.click(function(){
                        b.datepicker._datepickerShowing&&b.datepicker._lastInput==a[0]?b.datepicker._hideDatepicker():b.datepicker._showDatepicker(a[0]);
                        return false
                    })
                }
            },
            _autoSize:function(a){
                if(this._get(a,"autoSize")&&!a.inline){
                    var c=new Date(2009,11,20),h=this._get(a,"dateFormat");
                    if(h.match(/[DM]/)){
                        var i=function(j){
                            for(var n=0,o=0,l=0;l<j.length;l++)if(j[l].length>n){
                                n=j[l].length;
                                o=l
                            }
                            return o
                        };
                
                        c.setMonth(i(this._get(a,
                            h.match(/MM/)?"monthNames":"monthNamesShort")));
                        c.setDate(i(this._get(a,h.match(/DD/)?"dayNames":"dayNamesShort"))+20-c.getDay())
                    }
                    a.input.attr("size",this._formatDate(a,c).length)
                }
            },
            _inlineDatepicker:function(a,c){
                var h=b(a);
                if(!h.hasClass(this.markerClassName)){
                    h.addClass(this.markerClassName).append(c.dpDiv).bind("setData.datepicker",function(i,j,n){
                        c.settings[j]=n
                    }).bind("getData.datepicker",function(i,j){
                        return this._get(c,j)
                    });
                    b.data(a,"datepicker",c);
                    this._setDate(c,this._getDefaultDate(c),
                        true);
                    this._updateDatepicker(c);
                    this._updateAlternate(c);
                    c.dpDiv.show()
                }
            },
            _dialogDatepicker:function(a,c,h,i,j){
                a=this._dialogInst;
                if(!a){
                    this.uuid+=1;
                    this._dialogInput=b('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
                    this._dialogInput.keydown(this._doKeyDown);
                    b("body").append(this._dialogInput);
                    a=this._dialogInst=this._newInst(this._dialogInput,false);
                    a.settings={};
        
                    b.data(this._dialogInput[0],"datepicker",a)
                }
                f(a.settings,i||{});
                c=c&&c.constructor==Date?this._formatDate(a,c):c;
                this._dialogInput.val(c);
                this._pos=j?j.length?j:[j.pageX,j.pageY]:null;
                if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];
                this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");
                a.settings.onSelect=h;
                this._inDialog=true;
                this.dpDiv.addClass(this._dialogClass);
                this._showDatepicker(this._dialogInput[0]);
                b.blockUI&&b.blockUI(this.dpDiv);
                b.data(this._dialogInput[0],"datepicker",a);
                return this
            },
            _destroyDatepicker:function(a){
                var c=b(a),h=b.data(a,"datepicker");
                if(c.hasClass(this.markerClassName)){
                    var i=a.nodeName.toLowerCase();
                    b.removeData(a,"datepicker");
                    if(i=="input"){
                        h.append.remove();
                        h.trigger.remove();
                        c.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",
                            this._doKeyUp)
                    }else if(i=="div"||i=="span")c.removeClass(this.markerClassName).empty()
                }
            },
            _enableDatepicker:function(a){
                var c=b(a),h=b.data(a,"datepicker");
                if(c.hasClass(this.markerClassName)){
                    var i=a.nodeName.toLowerCase();
                    if(i=="input"){
                        a.disabled=false;
                        h.trigger.filter("button").each(function(){
                            this.disabled=false
                        }).end().filter("img").css({
                            opacity:"1.0",
                            cursor:""
                        })
                    }else if(i=="div"||i=="span")c.children("."+this._inlineClass).children().removeClass("ui-state-disabled");
                    this._disabledInputs=b.map(this._disabledInputs,
                        function(j){
                            return j==a?null:j
                        })
                }
            },
            _disableDatepicker:function(a){
                var c=b(a),h=b.data(a,"datepicker");
                if(c.hasClass(this.markerClassName)){
                    var i=a.nodeName.toLowerCase();
                    if(i=="input"){
                        a.disabled=true;
                        h.trigger.filter("button").each(function(){
                            this.disabled=true
                        }).end().filter("img").css({
                            opacity:"0.5",
                            cursor:"default"
                        })
                    }else if(i=="div"||i=="span")c.children("."+this._inlineClass).children().addClass("ui-state-disabled");
                    this._disabledInputs=b.map(this._disabledInputs,function(j){
                        return j==a?null:
                        j
                    });
                    this._disabledInputs[this._disabledInputs.length]=a
                }
            },
            _isDisabledDatepicker:function(a){
                if(!a)return false;
                for(var c=0;c<this._disabledInputs.length;c++)if(this._disabledInputs[c]==a)return true;return false
            },
            _getInst:function(a){
                try{
                    return b.data(a,"datepicker")
                }catch(c){
                    throw"Missing instance data for this datepicker";
                }
            },
            _optionDatepicker:function(a,c,h){
                var i=this._getInst(a);
                if(arguments.length==2&&typeof c=="string")return c=="defaults"?b.extend({},b.datepicker._defaults):i?c=="all"?b.extend({},
                    i.settings):this._get(i,c):null;
                var j=c||{};
    
                if(typeof c=="string"){
                    j={};
        
                    j[c]=h
                }
                if(i){
                    this._curInst==i&&this._hideDatepicker();
                    var n=this._getDateDatepicker(a,true),o=this._getMinMaxDate(i,"min"),l=this._getMinMaxDate(i,"max");
                    f(i.settings,j);
                    if(o!==null&&j.dateFormat!==d&&j.minDate===d)i.settings.minDate=this._formatDate(i,o);
                    if(l!==null&&j.dateFormat!==d&&j.maxDate===d)i.settings.maxDate=this._formatDate(i,l);
                    this._attachments(b(a),i);
                    this._autoSize(i);
                    this._setDateDatepicker(a,n);
                    this._updateDatepicker(i)
                }
            },
            _changeDatepicker:function(a,c,h){
                this._optionDatepicker(a,c,h)
            },
            _refreshDatepicker:function(a){
                (a=this._getInst(a))&&this._updateDatepicker(a)
            },
            _setDateDatepicker:function(a,c){
                if(a=this._getInst(a)){
                    this._setDate(a,c);
                    this._updateDatepicker(a);
                    this._updateAlternate(a)
                }
            },
            _getDateDatepicker:function(a,c){
                (a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,c);
                return a?this._getDate(a):null
            },
            _doKeyDown:function(a){
                var c=b.datepicker._getInst(a.target),h=true,i=c.dpDiv.is(".ui-datepicker-rtl");
                c._keyEvent=true;
                if(b.datepicker._datepickerShowing)switch(a.keyCode){
                    case 9:
                        b.datepicker._hideDatepicker();
                        h=false;
                        break;
                    case 13:
                        h=b("td."+b.datepicker._dayOverClass+":not(."+b.datepicker._currentClass+")",c.dpDiv);
                        h[0]?b.datepicker._selectDay(a.target,c.selectedMonth,c.selectedYear,h[0]):b.datepicker._hideDatepicker();
                        return false;
                    case 27:
                        b.datepicker._hideDatepicker();
                        break;
                    case 33:
                        b.datepicker._adjustDate(a.target,a.ctrlKey?-b.datepicker._get(c,"stepBigMonths"):-b.datepicker._get(c,"stepMonths"),
                            "M");
                        break;
                    case 34:
                        b.datepicker._adjustDate(a.target,a.ctrlKey?+b.datepicker._get(c,"stepBigMonths"):+b.datepicker._get(c,"stepMonths"),"M");
                        break;
                    case 35:
                        if(a.ctrlKey||a.metaKey)b.datepicker._clearDate(a.target);
                        h=a.ctrlKey||a.metaKey;
                        break;
                    case 36:
                        if(a.ctrlKey||a.metaKey)b.datepicker._gotoToday(a.target);
                        h=a.ctrlKey||a.metaKey;
                        break;
                    case 37:
                        if(a.ctrlKey||a.metaKey)b.datepicker._adjustDate(a.target,i?+1:-1,"D");
                        h=a.ctrlKey||a.metaKey;
                        if(a.originalEvent.altKey)b.datepicker._adjustDate(a.target,a.ctrlKey?
                            -b.datepicker._get(c,"stepBigMonths"):-b.datepicker._get(c,"stepMonths"),"M");
                        break;
                    case 38:
                        if(a.ctrlKey||a.metaKey)b.datepicker._adjustDate(a.target,-7,"D");
                        h=a.ctrlKey||a.metaKey;
                        break;
                    case 39:
                        if(a.ctrlKey||a.metaKey)b.datepicker._adjustDate(a.target,i?-1:+1,"D");
                        h=a.ctrlKey||a.metaKey;
                        if(a.originalEvent.altKey)b.datepicker._adjustDate(a.target,a.ctrlKey?+b.datepicker._get(c,"stepBigMonths"):+b.datepicker._get(c,"stepMonths"),"M");
                        break;
                    case 40:
                        if(a.ctrlKey||a.metaKey)b.datepicker._adjustDate(a.target,
                            +7,"D");
                        h=a.ctrlKey||a.metaKey;
                        break;
                    default:
                        h=false
                }else if(a.keyCode==36&&a.ctrlKey)b.datepicker._showDatepicker(this);else h=false;
                if(h){
                    a.preventDefault();
                    a.stopPropagation()
                }
            },
            _doKeyPress:function(a){
                var c=b.datepicker._getInst(a.target);
                if(b.datepicker._get(c,"constrainInput")){
                    c=b.datepicker._possibleChars(b.datepicker._get(c,"dateFormat"));
                    var h=String.fromCharCode(a.charCode==d?a.keyCode:a.charCode);
                    return a.ctrlKey||a.metaKey||h<" "||!c||c.indexOf(h)>-1
                }
            },
            _doKeyUp:function(a){
                a=b.datepicker._getInst(a.target);
                if(a.input.val()!=a.lastVal)try{
                    if(b.datepicker.parseDate(b.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,b.datepicker._getFormatConfig(a))){
                        b.datepicker._setDateFromField(a);
                        b.datepicker._updateAlternate(a);
                        b.datepicker._updateDatepicker(a)
                    }
                }catch(c){
                    b.datepicker.log(c)
                }
                return true
            },
            _showDatepicker:function(a){
                a=a.target||a;
                if(a.nodeName.toLowerCase()!="input")a=b("input",a.parentNode)[0];
                if(!(b.datepicker._isDisabledDatepicker(a)||b.datepicker._lastInput==a)){
                    var c=b.datepicker._getInst(a);
                    b.datepicker._curInst&&b.datepicker._curInst!=c&&b.datepicker._curInst.dpDiv.stop(true,true);
                    var h=b.datepicker._get(c,"beforeShow");
                    f(c.settings,h?h.apply(a,[a,c]):{});
                    c.lastVal=null;
                    b.datepicker._lastInput=a;
                    b.datepicker._setDateFromField(c);
                    if(b.datepicker._inDialog)a.value="";
                    if(!b.datepicker._pos){
                        b.datepicker._pos=b.datepicker._findPos(a);
                        b.datepicker._pos[1]+=a.offsetHeight
                    }
                    var i=false;
                    b(a).parents().each(function(){
                        i|=b(this).css("position")=="fixed";
                        return!i
                    });
                    if(i&&b.browser.opera){
                        b.datepicker._pos[0]-=
                        document.documentElement.scrollLeft;
                        b.datepicker._pos[1]-=document.documentElement.scrollTop
                    }
                    h={
                        left:b.datepicker._pos[0],
                        top:b.datepicker._pos[1]
                    };
            
                    b.datepicker._pos=null;
                    c.dpDiv.empty();
                    c.dpDiv.css({
                        position:"absolute",
                        display:"block",
                        top:"-1000px"
                    });
                    b.datepicker._updateDatepicker(c);
                    h=b.datepicker._checkOffset(c,h,i);
                    c.dpDiv.css({
                        position:b.datepicker._inDialog&&b.blockUI?"static":i?"fixed":"absolute",
                        display:"none",
                        left:h.left+"px",
                        top:h.top+"px"
                    });
                    if(!c.inline){
                        h=b.datepicker._get(c,"showAnim");
                        var j=b.datepicker._get(c,"duration"),n=function(){
                            b.datepicker._datepickerShowing=true;
                            var o=c.dpDiv.find("iframe.ui-datepicker-cover");
                            if(o.length){
                                var l=b.datepicker._getBorders(c.dpDiv);
                                o.css({
                                    left:-l[0],
                                    top:-l[1],
                                    width:c.dpDiv.outerWidth(),
                                    height:c.dpDiv.outerHeight()
                                })
                            }
                        };
            
                        c.dpDiv.zIndex(b(a).zIndex()+1);
                        b.effects&&b.effects[h]?c.dpDiv.show(h,b.datepicker._get(c,"showOptions"),j,n):c.dpDiv[h||"show"](h?j:null,n);
                        if(!h||!j)n();
                        c.input.is(":visible")&&!c.input.is(":disabled")&&c.input.focus();
                        b.datepicker._curInst=
                        c
                    }
                }
            },
            _updateDatepicker:function(a){
                var c=this,h=b.datepicker._getBorders(a.dpDiv);
                a.dpDiv.empty().append(this._generateHTML(a));
                var i=a.dpDiv.find("iframe.ui-datepicker-cover");
                i.length&&i.css({
                    left:-h[0],
                    top:-h[1],
                    width:a.dpDiv.outerWidth(),
                    height:a.dpDiv.outerHeight()
                });
                a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){
                    b(this).removeClass("ui-state-hover");
                    this.className.indexOf("ui-datepicker-prev")!=-1&&b(this).removeClass("ui-datepicker-prev-hover");
                    this.className.indexOf("ui-datepicker-next")!=-1&&b(this).removeClass("ui-datepicker-next-hover")
                }).bind("mouseover",function(){
                    if(!c._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){
                        b(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
                        b(this).addClass("ui-state-hover");
                        this.className.indexOf("ui-datepicker-prev")!=-1&&b(this).addClass("ui-datepicker-prev-hover");
                        this.className.indexOf("ui-datepicker-next")!=-1&&b(this).addClass("ui-datepicker-next-hover")
                    }
                }).end().find("."+
                    this._dayOverClass+" a").trigger("mouseover").end();
                h=this._getNumberOfMonths(a);
                i=h[1];
                i>1?a.dpDiv.addClass("ui-datepicker-multi-"+i).css("width",17*i+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
                a.dpDiv[(h[0]!=1||h[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");
                a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
                a==b.datepicker._curInst&&b.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&
                a.input[0]!=document.activeElement&&a.input.focus();
                if(a.yearshtml){
                    var j=a.yearshtml;
                    setTimeout(function(){
                        j===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);
                        j=a.yearshtml=null
                    },0)
                }
            },
            _getBorders:function(a){
                var c=function(h){
                    return{
                        thin:1,
                        medium:2,
                        thick:3
                    }
                    [h]||h
                };
        
                return[parseFloat(c(a.css("border-left-width"))),parseFloat(c(a.css("border-top-width")))]
            },
            _checkOffset:function(a,c,h){
                var i=a.dpDiv.outerWidth(),j=a.dpDiv.outerHeight(),n=a.input?a.input.outerWidth():
                0,o=a.input?a.input.outerHeight():0,l=document.documentElement.clientWidth+b(document).scrollLeft(),k=document.documentElement.clientHeight+b(document).scrollTop();
                c.left-=this._get(a,"isRTL")?i-n:0;
                c.left-=h&&c.left==a.input.offset().left?b(document).scrollLeft():0;
                c.top-=h&&c.top==a.input.offset().top+o?b(document).scrollTop():0;
                c.left-=Math.min(c.left,c.left+i>l&&l>i?Math.abs(c.left+i-l):0);
                c.top-=Math.min(c.top,c.top+j>k&&k>j?Math.abs(j+o):0);
                return c
            },
            _findPos:function(a){
                for(var c=this._get(this._getInst(a),
                    "isRTL");a&&(a.type=="hidden"||a.nodeType!=1||b.expr.filters.hidden(a));)a=a[c?"previousSibling":"nextSibling"];
                a=b(a).offset();
                return[a.left,a.top]
            },
            _hideDatepicker:function(a){
                var c=this._curInst;
                if(!(!c||a&&c!=b.data(a,"datepicker")))if(this._datepickerShowing){
                    a=this._get(c,"showAnim");
                    var h=this._get(c,"duration"),i=function(){
                        b.datepicker._tidyDialog(c);
                        this._curInst=null
                    };
            
                    b.effects&&b.effects[a]?c.dpDiv.hide(a,b.datepicker._get(c,"showOptions"),h,i):c.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?
                    "fadeOut":"hide"](a?h:null,i);
                    a||i();
                    if(a=this._get(c,"onClose"))a.apply(c.input?c.input[0]:null,[c.input?c.input.val():"",c]);
                    this._datepickerShowing=false;
                    this._lastInput=null;
                    if(this._inDialog){
                        this._dialogInput.css({
                            position:"absolute",
                            left:"0",
                            top:"-100px"
                        });
                        if(b.blockUI){
                            b.unblockUI();
                            b("body").append(this.dpDiv)
                        }
                    }
                    this._inDialog=false
                }
            },
            _tidyDialog:function(a){
                a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
            },
            _checkExternalClick:function(a){
                if(b.datepicker._curInst){
                    a=
                    b(a.target);
                    a[0].id!=b.datepicker._mainDivId&&a.parents("#"+b.datepicker._mainDivId).length==0&&!a.hasClass(b.datepicker.markerClassName)&&!a.hasClass(b.datepicker._triggerClass)&&b.datepicker._datepickerShowing&&!(b.datepicker._inDialog&&b.blockUI)&&b.datepicker._hideDatepicker()
                }
            },
            _adjustDate:function(a,c,h){
                a=b(a);
                var i=this._getInst(a[0]);
                if(!this._isDisabledDatepicker(a[0])){
                    this._adjustInstDate(i,c+(h=="M"?this._get(i,"showCurrentAtPos"):0),h);
                    this._updateDatepicker(i)
                }
            },
            _gotoToday:function(a){
                a=
                b(a);
                var c=this._getInst(a[0]);
                if(this._get(c,"gotoCurrent")&&c.currentDay){
                    c.selectedDay=c.currentDay;
                    c.drawMonth=c.selectedMonth=c.currentMonth;
                    c.drawYear=c.selectedYear=c.currentYear
                }else{
                    var h=new Date;
                    c.selectedDay=h.getDate();
                    c.drawMonth=c.selectedMonth=h.getMonth();
                    c.drawYear=c.selectedYear=h.getFullYear()
                }
                this._notifyChange(c);
                this._adjustDate(a)
            },
            _selectMonthYear:function(a,c,h){
                a=b(a);
                var i=this._getInst(a[0]);
                i._selectingMonthYear=false;
                i["selected"+(h=="M"?"Month":"Year")]=i["draw"+(h==
                    "M"?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10);
                this._notifyChange(i);
                this._adjustDate(a)
            },
            _clickMonthYear:function(a){
                var c=this._getInst(b(a)[0]);
                c.input&&c._selectingMonthYear&&setTimeout(function(){
                    c.input.focus()
                },0);
                c._selectingMonthYear=!c._selectingMonthYear
            },
            _selectDay:function(a,c,h,i){
                var j=b(a);
                if(!(b(i).hasClass(this._unselectableClass)||this._isDisabledDatepicker(j[0]))){
                    j=this._getInst(j[0]);
                    j.selectedDay=j.currentDay=b("a",i).html();
                    j.selectedMonth=j.currentMonth=
                    c;
                    j.selectedYear=j.currentYear=h;
                    this._selectDate(a,this._formatDate(j,j.currentDay,j.currentMonth,j.currentYear))
                }
            },
            _clearDate:function(a){
                a=b(a);
                this._getInst(a[0]);
                this._selectDate(a,"")
            },
            _selectDate:function(a,c){
                a=this._getInst(b(a)[0]);
                c=c!=null?c:this._formatDate(a);
                a.input&&a.input.val(c);
                this._updateAlternate(a);
                var h=this._get(a,"onSelect");
                if(h)h.apply(a.input?a.input[0]:null,[c,a]);else a.input&&a.input.trigger("change");
                if(a.inline)this._updateDatepicker(a);
                else{
                    this._hideDatepicker();
                    this._lastInput=a.input[0];
                    typeof a.input[0]!="object"&&a.input.focus();
                    this._lastInput=null
                }
            },
            _updateAlternate:function(a){
                var c=this._get(a,"altField");
                if(c){
                    var h=this._get(a,"altFormat")||this._get(a,"dateFormat"),i=this._getDate(a),j=this.formatDate(h,i,this._getFormatConfig(a));
                    b(c).each(function(){
                        b(this).val(j)
                    })
                }
            },
            noWeekends:function(a){
                a=a.getDay();
                return[a>0&&a<6,""]
            },
            iso8601Week:function(a){
                a=new Date(a.getTime());
                a.setDate(a.getDate()+4-(a.getDay()||7));
                var c=a.getTime();
                a.setMonth(0);
                a.setDate(1);
                return Math.floor(Math.round((c-a)/864E5)/7)+1
            },
            parseDate:function(a,c,h){
                if(a==null||c==null)throw"Invalid arguments";
                c=typeof c=="object"?c.toString():c+"";
                if(c=="")return null;
                var i=(h?h.shortYearCutoff:null)||this._defaults.shortYearCutoff;
                i=typeof i!="string"?i:(new Date).getFullYear()%100+parseInt(i,10);
                for(var j=(h?h.dayNamesShort:null)||this._defaults.dayNamesShort,n=(h?h.dayNames:null)||this._defaults.dayNames,o=(h?h.monthNamesShort:null)||this._defaults.monthNamesShort,l=(h?
                    h.monthNames:null)||this._defaults.monthNames,k=h=-1,m=-1,p=-1,q=false,s=function(x){
                    (x=y+1<a.length&&a.charAt(y+1)==x)&&y++;
                    return x
                },r=function(x){
                    var C=s(x);
                    x=new RegExp("^\\d{1,"+(x=="@"?14:x=="!"?20:x=="y"&&C?4:x=="o"?3:2)+"}");
                    x=c.substring(w).match(x);
                    if(!x)throw"Missing number at position "+w;
                    w+=x[0].length;
                    return parseInt(x[0],10)
                },u=function(x,C,J){
                    x=s(x)?J:C;
                    for(C=0;C<x.length;C++)if(c.substr(w,x[C].length).toLowerCase()==x[C].toLowerCase()){
                        w+=x[C].length;
                        return C+1
                    }
                    throw"Unknown name at position "+
                    w;
                },v=function(){
                    if(c.charAt(w)!=a.charAt(y))throw"Unexpected literal at position "+w;
                    w++
                },w=0,y=0;y<a.length;y++)if(q)if(a.charAt(y)=="'"&&!s("'"))q=false;else v();else switch(a.charAt(y)){
                    case "d":
                        m=r("d");
                        break;
                    case "D":
                        u("D",j,n);
                        break;
                    case "o":
                        p=r("o");
                        break;
                    case "m":
                        k=r("m");
                        break;
                    case "M":
                        k=u("M",o,l);
                        break;
                    case "y":
                        h=r("y");
                        break;
                    case "@":
                        var B=new Date(r("@"));
                        h=B.getFullYear();
                        k=B.getMonth()+1;
                        m=B.getDate();
                        break;
                    case "!":
                        B=new Date((r("!")-this._ticksTo1970)/1E4);
                        h=B.getFullYear();
                        k=B.getMonth()+
                        1;
                        m=B.getDate();
                        break;
                    case "'":
                        if(s("'"))v();else q=true;
                        break;
                    default:
                        v()
                }
                if(h==-1)h=(new Date).getFullYear();
                else if(h<100)h+=(new Date).getFullYear()-(new Date).getFullYear()%100+(h<=i?0:-100);
                if(p>-1){
                    k=1;
                    m=p;
                    do{
                        i=this._getDaysInMonth(h,k-1);
                        if(m<=i)break;
                        k++;
                        m-=i
                    }while(1)
                }
                B=this._daylightSavingAdjust(new Date(h,k-1,m));
                if(B.getFullYear()!=h||B.getMonth()+1!=k||B.getDate()!=m)throw"Invalid date";
                return B
            },
            ATOM:"yy-mm-dd",
            COOKIE:"D, dd M yy",
            ISO_8601:"yy-mm-dd",
            RFC_822:"D, d M y",
            RFC_850:"DD, dd-M-y",
            RFC_1036:"D, d M y",
            RFC_1123:"D, d M yy",
            RFC_2822:"D, d M yy",
            RSS:"D, d M y",
            TICKS:"!",
            TIMESTAMP:"@",
            W3C:"yy-mm-dd",
            _ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,
            formatDate:function(a,c,h){
                if(!c)return"";
                var i=(h?h.dayNamesShort:null)||this._defaults.dayNamesShort,j=(h?h.dayNames:null)||this._defaults.dayNames,n=(h?h.monthNamesShort:null)||this._defaults.monthNamesShort;
                h=(h?h.monthNames:null)||this._defaults.monthNames;
                var o=function(s){
                    (s=q+1<a.length&&
                        a.charAt(q+1)==s)&&q++;
                    return s
                },l=function(s,r,u){
                    r=""+r;
                    if(o(s))for(;r.length<u;)r="0"+r;
                    return r
                },k=function(s,r,u,v){
                    return o(s)?v[r]:u[r]
                },m="",p=false;
                if(c)for(var q=0;q<a.length;q++)if(p)if(a.charAt(q)=="'"&&!o("'"))p=false;else m+=a.charAt(q);else switch(a.charAt(q)){
                    case "d":
                        m+=l("d",c.getDate(),2);
                        break;
                    case "D":
                        m+=k("D",c.getDay(),i,j);
                        break;
                    case "o":
                        m+=l("o",(c.getTime()-(new Date(c.getFullYear(),0,0)).getTime())/864E5,3);
                        break;
                    case "m":
                        m+=l("m",c.getMonth()+1,2);
                        break;
                    case "M":
                        m+=k("M",
                            c.getMonth(),n,h);
                        break;
                    case "y":
                        m+=o("y")?c.getFullYear():(c.getYear()%100<10?"0":"")+c.getYear()%100;
                        break;
                    case "@":
                        m+=c.getTime();
                        break;
                    case "!":
                        m+=c.getTime()*1E4+this._ticksTo1970;
                        break;
                    case "'":
                        if(o("'"))m+="'";else p=true;
                        break;
                    default:
                        m+=a.charAt(q)
                }
                return m
            },
            _possibleChars:function(a){
                for(var c="",h=false,i=function(n){
                    (n=j+1<a.length&&a.charAt(j+1)==n)&&j++;
                    return n
                },j=0;j<a.length;j++)if(h)if(a.charAt(j)=="'"&&!i("'"))h=false;else c+=a.charAt(j);else switch(a.charAt(j)){
                    case "d":case "m":case "y":case "@":
                        c+=
                        "0123456789";
                        break;
                    case "D":case "M":
                        return null;
                    case "'":
                        if(i("'"))c+="'";else h=true;
                        break;
                    default:
                        c+=a.charAt(j)
                }
                return c
            },
            _get:function(a,c){
                return a.settings[c]!==d?a.settings[c]:this._defaults[c]
            },
            _setDateFromField:function(a,c){
                if(a.input.val()!=a.lastVal){
                    var h=this._get(a,"dateFormat"),i=a.lastVal=a.input?a.input.val():null,j,n;
                    j=n=this._getDefaultDate(a);
                    var o=this._getFormatConfig(a);
                    try{
                        j=this.parseDate(h,i,o)||n
                    }catch(l){
                        this.log(l);
                        i=c?"":i
                    }
                    a.selectedDay=j.getDate();
                    a.drawMonth=a.selectedMonth=
                    j.getMonth();
                    a.drawYear=a.selectedYear=j.getFullYear();
                    a.currentDay=i?j.getDate():0;
                    a.currentMonth=i?j.getMonth():0;
                    a.currentYear=i?j.getFullYear():0;
                    this._adjustInstDate(a)
                }
            },
            _getDefaultDate:function(a){
                return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))
            },
            _determineDate:function(a,c,h){
                var i=function(n){
                    var o=new Date;
                    o.setDate(o.getDate()+n);
                    return o
                },j=function(n){
                    try{
                        return b.datepicker.parseDate(b.datepicker._get(a,"dateFormat"),n,b.datepicker._getFormatConfig(a))
                    }catch(o){}
                    var l=
                    (n.toLowerCase().match(/^c/)?b.datepicker._getDate(a):null)||new Date,k=l.getFullYear(),m=l.getMonth();
                    l=l.getDate();
                    for(var p=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,q=p.exec(n);q;){
                        switch(q[2]||"d"){
                            case "d":case "D":
                                l+=parseInt(q[1],10);
                                break;
                            case "w":case "W":
                                l+=parseInt(q[1],10)*7;
                                break;
                            case "m":case "M":
                                m+=parseInt(q[1],10);
                                l=Math.min(l,b.datepicker._getDaysInMonth(k,m));
                                break;
                            case "y":case "Y":
                                k+=parseInt(q[1],10);
                                l=Math.min(l,b.datepicker._getDaysInMonth(k,m));
                                break
                        }
                        q=p.exec(n)
                    }
                    return new Date(k,
                        m,l)
                };
        
                if(c=(c=c==null||c===""?h:typeof c=="string"?j(c):typeof c=="number"?isNaN(c)?h:i(c):new Date(c.getTime()))&&c.toString()=="Invalid Date"?h:c){
                    c.setHours(0);
                    c.setMinutes(0);
                    c.setSeconds(0);
                    c.setMilliseconds(0)
                }
                return this._daylightSavingAdjust(c)
            },
            _daylightSavingAdjust:function(a){
                if(!a)return null;
                a.setHours(a.getHours()>12?a.getHours()+2:0);
                return a
            },
            _setDate:function(a,c,h){
                var i=!c,j=a.selectedMonth,n=a.selectedYear;
                c=this._restrictMinMax(a,this._determineDate(a,c,new Date));
                a.selectedDay=
                a.currentDay=c.getDate();
                a.drawMonth=a.selectedMonth=a.currentMonth=c.getMonth();
                a.drawYear=a.selectedYear=a.currentYear=c.getFullYear();
                if((j!=a.selectedMonth||n!=a.selectedYear)&&!h)this._notifyChange(a);
                this._adjustInstDate(a);
                if(a.input)a.input.val(i?"":this._formatDate(a))
            },
            _getDate:function(a){
                return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))
            },
            _generateHTML:function(a){
                var c=new Date;
                c=this._daylightSavingAdjust(new Date(c.getFullYear(),
                    c.getMonth(),c.getDate()));
                var h=this._get(a,"isRTL"),i=this._get(a,"showButtonPanel"),j=this._get(a,"hideIfNoPrevNext"),n=this._get(a,"navigationAsDateFormat"),o=this._getNumberOfMonths(a),l=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),m=o[0]!=1||o[1]!=1,p=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),q=this._getMinMaxDate(a,"min"),s=this._getMinMaxDate(a,"max");
                l=a.drawMonth-l;
                var r=a.drawYear;
                if(l<0){
                    l+=12;
                    r--
                }
                if(s){
                    var u=
                    this._daylightSavingAdjust(new Date(s.getFullYear(),s.getMonth()-o[0]*o[1]+1,s.getDate()));
                    for(u=q&&u<q?q:u;this._daylightSavingAdjust(new Date(r,l,1))>u;){
                        l--;
                        if(l<0){
                            l=11;
                            r--
                        }
                    }
                }
                a.drawMonth=l;
                a.drawYear=r;
                u=this._get(a,"prevText");
                u=!n?u:this.formatDate(u,this._daylightSavingAdjust(new Date(r,l-k,1)),this._getFormatConfig(a));
                u=this._canAdjustMonth(a,-1,r,l)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+g+".datepicker._adjustDate('#"+a.id+"', -"+k+", 'M');\" title=\""+u+'"><span class="ui-icon ui-icon-circle-triangle-'+
                (h?"e":"w")+'">'+u+"</span></a>":j?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+u+'"><span class="ui-icon ui-icon-circle-triangle-'+(h?"e":"w")+'">'+u+"</span></a>";
                var v=this._get(a,"nextText");
                v=!n?v:this.formatDate(v,this._daylightSavingAdjust(new Date(r,l+k,1)),this._getFormatConfig(a));
                j=this._canAdjustMonth(a,+1,r,l)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+g+".datepicker._adjustDate('#"+a.id+"', +"+k+", 'M');\" title=\""+v+'"><span class="ui-icon ui-icon-circle-triangle-'+
                (h?"w":"e")+'">'+v+"</span></a>":j?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+v+'"><span class="ui-icon ui-icon-circle-triangle-'+(h?"w":"e")+'">'+v+"</span></a>";
                k=this._get(a,"currentText");
                v=this._get(a,"gotoCurrent")&&a.currentDay?p:c;
                k=!n?k:this.formatDate(k,v,this._getFormatConfig(a));
                n=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+g+'.datepicker._hideDatepicker();">'+this._get(a,
                    "closeText")+"</button>":"";
                i=i?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(h?n:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+g+".datepicker._gotoToday('#"+a.id+"');\">"+k+"</button>":"")+(h?"":n)+"</div>":"";
                n=parseInt(this._get(a,"firstDay"),10);
                n=isNaN(n)?0:n;
                k=this._get(a,"showWeek");
                v=this._get(a,"dayNames");
                this._get(a,"dayNamesShort");
                var w=this._get(a,"dayNamesMin"),y=
                this._get(a,"monthNames"),B=this._get(a,"monthNamesShort"),x=this._get(a,"beforeShowDay"),C=this._get(a,"showOtherMonths"),J=this._get(a,"selectOtherMonths");
                this._get(a,"calculateWeek");
                for(var M=this._getDefaultDate(a),K="",G=0;G<o[0];G++){
                    for(var N="",H=0;H<o[1];H++){
                        var O=this._daylightSavingAdjust(new Date(r,l,a.selectedDay)),A=" ui-corner-all",D="";
                        if(m){
                            D+='<div class="ui-datepicker-group';
                            if(o[1]>1)switch(H){
                                case 0:
                                    D+=" ui-datepicker-group-first";
                                    A=" ui-corner-"+(h?"right":"left");
                                    break;
                                case o[1]-
                                    1:
                                    D+=" ui-datepicker-group-last";
                                    A=" ui-corner-"+(h?"left":"right");
                                    break;
                                default:
                                    D+=" ui-datepicker-group-middle";
                                    A="";
                                    break
                            }
                            D+='">'
                        }
                        D+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+A+'">'+(/all|left/.test(A)&&G==0?h?j:u:"")+(/all|right/.test(A)&&G==0?h?u:j:"")+this._generateMonthYearHeader(a,l,r,q,s,G>0||H>0,y,B)+'</div><table class="ui-datepicker-calendar"><thead><tr>';
                        var E=k?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";
                        for(A=0;A<7;A++){
                            var z=
                            (A+n)%7;
                            E+="<th"+((A+n+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+v[z]+'">'+w[z]+"</span></th>"
                        }
                        D+=E+"</tr></thead><tbody>";
                        E=this._getDaysInMonth(r,l);
                        if(r==a.selectedYear&&l==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,E);
                        A=(this._getFirstDayOfMonth(r,l)-n+7)%7;
                        E=m?6:Math.ceil((A+E)/7);
                        z=this._daylightSavingAdjust(new Date(r,l,1-A));
                        for(var P=0;P<E;P++){
                            D+="<tr>";
                            var Q=!k?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(z)+"</td>";
                            for(A=0;A<7;A++){
                                var I=
                                x?x.apply(a.input?a.input[0]:null,[z]):[true,""],F=z.getMonth()!=l,L=F&&!J||!I[0]||q&&z<q||s&&z>s;
                                Q+='<td class="'+((A+n+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(z.getTime()==O.getTime()&&l==a.selectedMonth&&a._keyEvent||M.getTime()==z.getTime()&&M.getTime()==O.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!C?"":" "+I[1]+(z.getTime()==p.getTime()?" "+this._currentClass:"")+(z.getTime()==c.getTime()?" ui-datepicker-today":
                                    ""))+'"'+((!F||C)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+g+".datepicker._selectDay('#"+a.id+"',"+z.getMonth()+","+z.getFullYear()+', this);return false;"')+">"+(F&&!C?"&#xa0;":L?'<span class="ui-state-default">'+z.getDate()+"</span>":'<a class="ui-state-default'+(z.getTime()==c.getTime()?" ui-state-highlight":"")+(z.getTime()==p.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+z.getDate()+"</a>")+"</td>";
                                z.setDate(z.getDate()+1);
                                z=this._daylightSavingAdjust(z)
                            }
                            D+=
                            Q+"</tr>"
                        }
                        l++;
                        if(l>11){
                            l=0;
                            r++
                        }
                        D+="</tbody></table>"+(m?"</div>"+(o[0]>0&&H==o[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");
                        N+=D
                    }
                    K+=N
                }
                K+=i+(b.browser.msie&&parseInt(b.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");
                a._keyEvent=false;
                return K
            },
            _generateMonthYearHeader:function(a,c,h,i,j,n,o,l){
                var k=this._get(a,"changeMonth"),m=this._get(a,"changeYear"),p=this._get(a,"showMonthAfterYear"),q='<div class="ui-datepicker-title">',
                s="";
                if(n||!k)s+='<span class="ui-datepicker-month">'+o[c]+"</span>";
                else{
                    o=i&&i.getFullYear()==h;
                    var r=j&&j.getFullYear()==h;
                    s+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+g+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+g+".datepicker._clickMonthYear('#"+a.id+"');\">";
                    for(var u=0;u<12;u++)if((!o||u>=i.getMonth())&&(!r||u<=j.getMonth()))s+='<option value="'+u+'"'+(u==c?' selected="selected"':"")+">"+l[u]+"</option>";s+="</select>"
                }
                p||(q+=s+(n||!(k&&
                    m)?"&#xa0;":""));
                if(!a.yearshtml){
                    a.yearshtml="";
                    if(n||!m)q+='<span class="ui-datepicker-year">'+h+"</span>";
                    else{
                        l=this._get(a,"yearRange").split(":");
                        var v=(new Date).getFullYear();
                        o=function(w){
                            w=w.match(/c[+-].*/)?h+parseInt(w.substring(1),10):w.match(/[+-].*/)?v+parseInt(w,10):parseInt(w,10);
                            return isNaN(w)?v:w
                        };
                
                        c=o(l[0]);
                        l=Math.max(c,o(l[1]||""));
                        c=i?Math.max(c,i.getFullYear()):c;
                        l=j?Math.min(l,j.getFullYear()):l;
                        for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+g+".datepicker._selectMonthYear('#"+
                            a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+g+".datepicker._clickMonthYear('#"+a.id+"');\">";c<=l;c++)a.yearshtml+='<option value="'+c+'"'+(c==h?' selected="selected"':"")+">"+c+"</option>";
                        a.yearshtml+="</select>";
                        if(b.browser.mozilla)q+='<select class="ui-datepicker-year"><option value="'+h+'" selected="selected">'+h+"</option></select>";
                        else{
                            q+=a.yearshtml;
                            a.yearshtml=null
                        }
                    }
                }
                q+=this._get(a,"yearSuffix");
                if(p)q+=(n||!(k&&m)?"&#xa0;":"")+s;
                q+="</div>";
                return q
            },
            _adjustInstDate:function(a,c,h){
                var i=
                a.drawYear+(h=="Y"?c:0),j=a.drawMonth+(h=="M"?c:0);
                c=Math.min(a.selectedDay,this._getDaysInMonth(i,j))+(h=="D"?c:0);
                i=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(i,j,c)));
                a.selectedDay=i.getDate();
                a.drawMonth=a.selectedMonth=i.getMonth();
                a.drawYear=a.selectedYear=i.getFullYear();
                if(h=="M"||h=="Y")this._notifyChange(a)
            },
            _restrictMinMax:function(a,c){
                var h=this._getMinMaxDate(a,"min");
                a=this._getMinMaxDate(a,"max");
                c=h&&c<h?h:c;
                return c=a&&c>a?a:c
            },
            _notifyChange:function(a){
                var c=this._get(a,
                    "onChangeMonthYear");
                if(c)c.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])
            },
            _getNumberOfMonths:function(a){
                a=this._get(a,"numberOfMonths");
                return a==null?[1,1]:typeof a=="number"?[1,a]:a
            },
            _getMinMaxDate:function(a,c){
                return this._determineDate(a,this._get(a,c+"Date"),null)
            },
            _getDaysInMonth:function(a,c){
                return 32-this._daylightSavingAdjust(new Date(a,c,32)).getDate()
            },
            _getFirstDayOfMonth:function(a,c){
                return(new Date(a,c,1)).getDay()
            },
            _canAdjustMonth:function(a,c,h,i){
                var j=this._getNumberOfMonths(a);
                h=this._daylightSavingAdjust(new Date(h,i+(c<0?c:j[0]*j[1]),1));
                c<0&&h.setDate(this._getDaysInMonth(h.getFullYear(),h.getMonth()));
                return this._isInRange(a,h)
            },
            _isInRange:function(a,c){
                var h=this._getMinMaxDate(a,"min");
                a=this._getMinMaxDate(a,"max");
                return(!h||c.getTime()>=h.getTime())&&(!a||c.getTime()<=a.getTime())
            },
            _getFormatConfig:function(a){
                var c=this._get(a,"shortYearCutoff");
                c=typeof c!="string"?c:(new Date).getFullYear()%100+parseInt(c,10);
                return{
                    shortYearCutoff:c,
                    dayNamesShort:this._get(a,
                        "dayNamesShort"),
                    dayNames:this._get(a,"dayNames"),
                    monthNamesShort:this._get(a,"monthNamesShort"),
                    monthNames:this._get(a,"monthNames")
                }
            },
            _formatDate:function(a,c,h,i){
                if(!c){
                    a.currentDay=a.selectedDay;
                    a.currentMonth=a.selectedMonth;
                    a.currentYear=a.selectedYear
                }
                c=c?typeof c=="object"?c:this._daylightSavingAdjust(new Date(i,h,c)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));
                return this.formatDate(this._get(a,"dateFormat"),c,this._getFormatConfig(a))
            }
        });
        b.fn.datepicker=
        function(a){
            if(!this.length)return this;
            if(!b.datepicker.initialized){
                b(document).mousedown(b.datepicker._checkExternalClick).find("body").append(b.datepicker.dpDiv);
                b.datepicker.initialized=true
            }
            var c=Array.prototype.slice.call(arguments,1);
            if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return b.datepicker["_"+a+"Datepicker"].apply(b.datepicker,[this[0]].concat(c));
            if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return b.datepicker["_"+a+"Datepicker"].apply(b.datepicker,
                [this[0]].concat(c));
            return this.each(function(){
                typeof a=="string"?b.datepicker["_"+a+"Datepicker"].apply(b.datepicker,[this].concat(c)):b.datepicker._attachDatepicker(this,a)
            })
        };
    
        b.datepicker=new e;
        b.datepicker.initialized=false;
        b.datepicker.uuid=(new Date).getTime();
        b.datepicker.version="1.8.12";
        window["DP_jQuery_"+g]=b
    })(jQuery);
    (function(b,d){
        var e={
            buttons:true,
            height:true,
            maxHeight:true,
            maxWidth:true,
            minHeight:true,
            minWidth:true,
            width:true
        },f={
            maxHeight:true,
            maxWidth:true,
            minHeight:true,
            minWidth:true
        },g=b.attrFn||{
            val:true,
            css:true,
            html:true,
            text:true,
            data:true,
            width:true,
            height:true,
            offset:true,
            click:true
        };
    
        b.widget("ui.dialog",{
            options:{
                autoOpen:true,
                buttons:{},
                closeOnEscape:true,
                closeText:"close",
                dialogClass:"",
                draggable:true,
                hide:null,
                height:"auto",
                maxHeight:false,
                maxWidth:false,
                minHeight:150,
                minWidth:150,
                modal:false,
                position:{
                    my:"center",
                    at:"center",
                    collision:"fit",
                    using:function(a){
                        var c=b(this).css(a).offset().top;
                        c<0&&b(this).css("top",a.top-c)
                    }
                },
                resizable:true,
                show:null,
                stack:true,
                title:"",
                width:300,
                zIndex:1E3
            },
            _create:function(){
                this.originalTitle=this.element.attr("title");
                if(typeof this.originalTitle!=="string")this.originalTitle="";
                this.options.title=this.options.title||this.originalTitle;
                var a=this,c=a.options,h=c.title||"&#160;",i=b.ui.dialog.getTitleId(a.element),j=(a.uiDialog=b("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
                    c.dialogClass).css({
                    zIndex:c.zIndex
                }).attr("tabIndex",-1).css("outline",0).keydown(function(l){
                    if(c.closeOnEscape&&l.keyCode&&l.keyCode===b.ui.keyCode.ESCAPE){
                        a.close(l);
                        l.preventDefault()
                    }
                }).attr({
                    role:"dialog",
                    "aria-labelledby":i
                }).mousedown(function(l){
                    a.moveToTop(false,l)
                });
                a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(j);
                var n=(a.uiDialogTitlebar=b("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(j),
                o=b('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){
                    o.addClass("ui-state-hover")
                },function(){
                    o.removeClass("ui-state-hover")
                }).focus(function(){
                    o.addClass("ui-state-focus")
                }).blur(function(){
                    o.removeClass("ui-state-focus")
                }).click(function(l){
                    a.close(l);
                    return false
                }).appendTo(n);
                (a.uiDialogTitlebarCloseText=b("<span></span>")).addClass("ui-icon ui-icon-closethick").text(c.closeText).appendTo(o);
                b("<span></span>").addClass("ui-dialog-title").attr("id",
                    i).html(h).prependTo(n);
                if(b.isFunction(c.beforeclose)&&!b.isFunction(c.beforeClose))c.beforeClose=c.beforeclose;
                n.find("*").add(n).disableSelection();
                c.draggable&&b.fn.draggable&&a._makeDraggable();
                c.resizable&&b.fn.resizable&&a._makeResizable();
                a._createButtons(c.buttons);
                a._isOpen=false;
                b.fn.bgiframe&&j.bgiframe()
            },
            _init:function(){
                this.options.autoOpen&&this.open()
            },
            destroy:function(){
                var a=this;
                a.overlay&&a.overlay.destroy();
                a.uiDialog.hide();
                a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
                a.uiDialog.remove();
                a.originalTitle&&a.element.attr("title",a.originalTitle);
                return a
            },
            widget:function(){
                return this.uiDialog
            },
            close:function(a){
                var c=this,h,i;
                if(false!==c._trigger("beforeClose",a)){
                    c.overlay&&c.overlay.destroy();
                    c.uiDialog.unbind("keypress.ui-dialog");
                    c._isOpen=false;
                    if(c.options.hide)c.uiDialog.hide(c.options.hide,function(){
                        c._trigger("close",a)
                    });
                    else{
                        c.uiDialog.hide();
                        c._trigger("close",a)
                    }
                    b.ui.dialog.overlay.resize();
                    if(c.options.modal){
                        h=0;
                        b(".ui-dialog").each(function(){
                            if(this!==
                                c.uiDialog[0]){
                                i=b(this).css("z-index");
                                isNaN(i)||(h=Math.max(h,i))
                            }
                        });
                        b.ui.dialog.maxZ=h
                    }
                    return c
                }
            },
            isOpen:function(){
                return this._isOpen
            },
            moveToTop:function(a,c){
                var h=this,i=h.options;
                if(i.modal&&!a||!i.stack&&!i.modal)return h._trigger("focus",c);
                if(i.zIndex>b.ui.dialog.maxZ)b.ui.dialog.maxZ=i.zIndex;
                if(h.overlay){
                    b.ui.dialog.maxZ+=1;
                    h.overlay.$el.css("z-index",b.ui.dialog.overlay.maxZ=b.ui.dialog.maxZ)
                }
                a={
                    scrollTop:h.element.attr("scrollTop"),
                    scrollLeft:h.element.attr("scrollLeft")
                };
        
                b.ui.dialog.maxZ+=
                1;
                h.uiDialog.css("z-index",b.ui.dialog.maxZ);
                h.element.attr(a);
                h._trigger("focus",c);
                return h
            },
            open:function(){
                if(!this._isOpen){
                    var a=this,c=a.options,h=a.uiDialog;
                    a.overlay=c.modal?new b.ui.dialog.overlay(a):null;
                    a._size();
                    a._position(c.position);
                    h.show(c.show);
                    a.moveToTop(true);
                    c.modal&&h.bind("keypress.ui-dialog",function(i){
                        if(i.keyCode===b.ui.keyCode.TAB){
                            var j=b(":tabbable",this),n=j.filter(":first");
                            j=j.filter(":last");
                            if(i.target===j[0]&&!i.shiftKey){
                                n.focus(1);
                                return false
                            }else if(i.target===
                                n[0]&&i.shiftKey){
                                j.focus(1);
                                return false
                            }
                        }
                    });
                    b(a.element.find(":tabbable").get().concat(h.find(".ui-dialog-buttonpane :tabbable").get().concat(h.get()))).eq(0).focus();
                    a._isOpen=true;
                    a._trigger("open");
                    return a
                }
            },
            _createButtons:function(a){
                var c=this,h=false,i=b("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),j=b("<div></div>").addClass("ui-dialog-buttonset").appendTo(i);
                c.uiDialog.find(".ui-dialog-buttonpane").remove();
                typeof a==="object"&&a!==null&&b.each(a,
                    function(){
                        return!(h=true)
                    });
                if(h){
                    b.each(a,function(n,o){
                        o=b.isFunction(o)?{
                            click:o,
                            text:n
                        }:o;
                        var l=b('<button type="button"></button>').click(function(){
                            o.click.apply(c.element[0],arguments)
                        }).appendTo(j);
                        b.each(o,function(k,m){
                            if(k!=="click")k in g?l[k](m):l.attr(k,m)
                        });
                        b.fn.button&&l.button()
                    });
                    i.appendTo(c.uiDialog)
                }
            },
            _makeDraggable:function(){
                function a(n){
                    return{
                        position:n.position,
                        offset:n.offset
                    }
                }
                var c=this,h=c.options,i=b(document),j;
                c.uiDialog.draggable({
                    cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
                    handle:".ui-dialog-titlebar",
                    containment:"document",
                    start:function(n,o){
                        j=h.height==="auto"?"auto":b(this).height();
                        b(this).height(b(this).height()).addClass("ui-dialog-dragging");
                        c._trigger("dragStart",n,a(o))
                    },
                    drag:function(n,o){
                        c._trigger("drag",n,a(o))
                    },
                    stop:function(n,o){
                        h.position=[o.position.left-i.scrollLeft(),o.position.top-i.scrollTop()];
                        b(this).removeClass("ui-dialog-dragging").height(j);
                        c._trigger("dragStop",n,a(o));
                        b.ui.dialog.overlay.resize()
                    }
                })
            },
            _makeResizable:function(a){
                function c(n){
                    return{
                        originalPosition:n.originalPosition,
                        originalSize:n.originalSize,
                        position:n.position,
                        size:n.size
                    }
                }
                a=a===d?this.options.resizable:a;
                var h=this,i=h.options,j=h.uiDialog.css("position");
                a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";
                h.uiDialog.resizable({
                    cancel:".ui-dialog-content",
                    containment:"document",
                    alsoResize:h.element,
                    maxWidth:i.maxWidth,
                    maxHeight:i.maxHeight,
                    minWidth:i.minWidth,
                    minHeight:h._minHeight(),
                    handles:a,
                    start:function(n,o){
                        b(this).addClass("ui-dialog-resizing");
                        h._trigger("resizeStart",n,c(o))
                    },
                    resize:function(n,o){
                        h._trigger("resize",
                            n,c(o))
                    },
                    stop:function(n,o){
                        b(this).removeClass("ui-dialog-resizing");
                        i.height=b(this).height();
                        i.width=b(this).width();
                        h._trigger("resizeStop",n,c(o));
                        b.ui.dialog.overlay.resize()
                    }
                }).css("position",j).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")
            },
            _minHeight:function(){
                var a=this.options;
                return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)
            },
            _position:function(a){
                var c=[],h=[0,0],i;
                if(a){
                    if(typeof a==="string"||typeof a==="object"&&"0"in a){
                        c=a.split?a.split(" "):
                        [a[0],a[1]];
                        if(c.length===1)c[1]=c[0];
                        b.each(["left","top"],function(j,n){
                            if(+c[j]===c[j]){
                                h[j]=c[j];
                                c[j]=n
                            }
                        });
                        a={
                            my:c.join(" "),
                            at:c.join(" "),
                            offset:h.join(" ")
                        }
                    }
                    a=b.extend({},b.ui.dialog.prototype.options.position,a)
                }else a=b.ui.dialog.prototype.options.position;
                (i=this.uiDialog.is(":visible"))||this.uiDialog.show();
                this.uiDialog.css({
                    top:0,
                    left:0
                }).position(b.extend({
                    of:window
                },a));
                i||this.uiDialog.hide()
            },
            _setOptions:function(a){
                var c=this,h={},i=false;
                b.each(a,function(j,n){
                    c._setOption(j,n);
                    if(j in e)i=true;
                    if(j in f)h[j]=n
                });
                i&&this._size();
                this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",h)
            },
            _setOption:function(a,c){
                var h=this,i=h.uiDialog;
                switch(a){
                    case "beforeclose":
                        a="beforeClose";
                        break;
                    case "buttons":
                        h._createButtons(c);
                        break;
                    case "closeText":
                        h.uiDialogTitlebarCloseText.text(""+c);
                        break;
                    case "dialogClass":
                        i.removeClass(h.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+c);
                        break;
                    case "disabled":
                        c?i.addClass("ui-dialog-disabled"):
                        i.removeClass("ui-dialog-disabled");
                        break;
                    case "draggable":
                        var j=i.is(":data(draggable)");
                        j&&!c&&i.draggable("destroy");
                        !j&&c&&h._makeDraggable();
                        break;
                    case "position":
                        h._position(c);
                        break;
                    case "resizable":
                        (j=i.is(":data(resizable)"))&&!c&&i.resizable("destroy");
                        j&&typeof c==="string"&&i.resizable("option","handles",c);
                        !j&&c!==false&&h._makeResizable(c);
                        break;
                    case "title":
                        b(".ui-dialog-title",h.uiDialogTitlebar).html(""+(c||"&#160;"));
                        break
                }
                b.Widget.prototype._setOption.apply(h,arguments)
            },
            _size:function(){
                var a=
                this.options,c,h,i=this.uiDialog.is(":visible");
                this.element.show().css({
                    width:"auto",
                    minHeight:0,
                    height:0
                });
                if(a.minWidth>a.width)a.width=a.minWidth;
                c=this.uiDialog.css({
                    height:"auto",
                    width:a.width
                }).height();
                h=Math.max(0,a.minHeight-c);
                if(a.height==="auto")if(b.support.minHeight)this.element.css({
                    minHeight:h,
                    height:"auto"
                });
                else{
                    this.uiDialog.show();
                    a=this.element.css("height","auto").height();
                    i||this.uiDialog.hide();
                    this.element.height(Math.max(a,h))
                }else this.element.height(Math.max(a.height-
                    c,0));
                this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())
            }
        });
        b.extend(b.ui.dialog,{
            version:"1.8.12",
            uuid:0,
            maxZ:0,
            getTitleId:function(a){
                a=a.attr("id");
                if(!a){
                    this.uuid+=1;
                    a=this.uuid
                }
                return"ui-dialog-title-"+a
            },
            overlay:function(a){
                this.$el=b.ui.dialog.overlay.create(a)
            }
        });
        b.extend(b.ui.dialog.overlay,{
            instances:[],
            oldInstances:[],
            maxZ:0,
            events:b.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){
                return a+".dialog-overlay"
            }).join(" "),
            create:function(a){
                if(this.instances.length===0){
                    setTimeout(function(){
                        b.ui.dialog.overlay.instances.length&&b(document).bind(b.ui.dialog.overlay.events,function(h){
                            if(b(h.target).zIndex()<b.ui.dialog.overlay.maxZ)return false
                        })
                    },1);
                    b(document).bind("keydown.dialog-overlay",function(h){
                        if(a.options.closeOnEscape&&h.keyCode&&h.keyCode===b.ui.keyCode.ESCAPE){
                            a.close(h);
                            h.preventDefault()
                        }
                    });
                    b(window).bind("resize.dialog-overlay",b.ui.dialog.overlay.resize)
                }
                var c=(this.oldInstances.pop()||b("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({
                    width:this.width(),
                    height:this.height()
                });
                b.fn.bgiframe&&c.bgiframe();
                this.instances.push(c);
                return c
            },
            destroy:function(a){
                var c=b.inArray(a,this.instances);
                c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]);
                this.instances.length===0&&b([document,window]).unbind(".dialog-overlay");
                a.remove();
                var h=0;
                b.each(this.instances,function(){
                    h=Math.max(h,this.css("z-index"))
                });
                this.maxZ=h
            },
            height:function(){
                var a,c;
                if(b.browser.msie&&b.browser.version<7){
                    a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
                    c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);
                    return a<c?b(window).height()+"px":a+"px"
                }else return b(document).height()+"px"
            },
            width:function(){
                var a,c;
                if(b.browser.msie&&b.browser.version<7){
                    a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);
                    c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);
                    return a<c?b(window).width()+"px":a+"px"
                }else return b(document).width()+"px"
            },
            resize:function(){
                var a=b([]);
                b.each(b.ui.dialog.overlay.instances,
                    function(){
                        a=a.add(this)
                    });
                a.css({
                    width:0,
                    height:0
                }).css({
                    width:b.ui.dialog.overlay.width(),
                    height:b.ui.dialog.overlay.height()
                })
            }
        });
        b.extend(b.ui.dialog.overlay.prototype,{
            destroy:function(){
                b.ui.dialog.overlay.destroy(this.$el)
            }
        })
    })(jQuery);
    (function(b){
        b.ui=b.ui||{};
    
        var d=/left|center|right/,e=/top|center|bottom/,f=b.fn.position,g=b.fn.offset;
        b.fn.position=function(a){
            if(!a||!a.of)return f.apply(this,arguments);
            a=b.extend({},a);
            var c=b(a.of),h=c[0],i=(a.collision||"flip").split(" "),j=a.offset?a.offset.split(" "):[0,0],n,o,l;
            if(h.nodeType===9){
                n=c.width();
                o=c.height();
                l={
                    top:0,
                    left:0
                }
            }else if(h.setTimeout){
                n=c.width();
                o=c.height();
                l={
                    top:c.scrollTop(),
                    left:c.scrollLeft()
                }
            }else if(h.preventDefault){
                a.at="left top";
                n=o=0;
                l={
                    top:a.of.pageY,
                    left:a.of.pageX
                }
            }else{
                n=c.outerWidth();
                o=c.outerHeight();
                l=c.offset()
            }
            b.each(["my","at"],function(){
                var k=(a[this]||"").split(" ");
                if(k.length===1)k=d.test(k[0])?k.concat(["center"]):e.test(k[0])?["center"].concat(k):["center","center"];
                k[0]=d.test(k[0])?k[0]:"center";
                k[1]=e.test(k[1])?k[1]:"center";
                a[this]=k
            });
            if(i.length===1)i[1]=i[0];
            j[0]=parseInt(j[0],10)||0;
            if(j.length===1)j[1]=j[0];
            j[1]=parseInt(j[1],10)||0;
            if(a.at[0]==="right")l.left+=n;
            else if(a.at[0]==="center")l.left+=n/2;
            if(a.at[1]==="bottom")l.top+=
                o;
            else if(a.at[1]==="center")l.top+=o/2;
            l.left+=j[0];
            l.top+=j[1];
            return this.each(function(){
                var k=b(this),m=k.outerWidth(),p=k.outerHeight(),q=parseInt(b.curCSS(this,"marginLeft",true))||0,s=parseInt(b.curCSS(this,"marginTop",true))||0,r=m+q+(parseInt(b.curCSS(this,"marginRight",true))||0),u=p+s+(parseInt(b.curCSS(this,"marginBottom",true))||0),v=b.extend({},l),w;
                if(a.my[0]==="right")v.left-=m;
                else if(a.my[0]==="center")v.left-=m/2;
                if(a.my[1]==="bottom")v.top-=p;
                else if(a.my[1]==="center")v.top-=
                    p/2;
                v.left=Math.round(v.left);
                v.top=Math.round(v.top);
                w={
                    left:v.left-q,
                    top:v.top-s
                };
        
                b.each(["left","top"],function(y,B){
                    b.ui.position[i[y]]&&b.ui.position[i[y]][B](v,{
                        targetWidth:n,
                        targetHeight:o,
                        elemWidth:m,
                        elemHeight:p,
                        collisionPosition:w,
                        collisionWidth:r,
                        collisionHeight:u,
                        offset:j,
                        my:a.my,
                        at:a.at
                    })
                });
                b.fn.bgiframe&&k.bgiframe();
                k.offset(b.extend(v,{
                    using:a.using
                }))
            })
        };

        b.ui.position={
            fit:{
                left:function(a,c){
                    var h=b(window);
                    h=c.collisionPosition.left+c.collisionWidth-h.width()-h.scrollLeft();
                    a.left=
                    h>0?a.left-h:Math.max(a.left-c.collisionPosition.left,a.left)
                },
                top:function(a,c){
                    var h=b(window);
                    h=c.collisionPosition.top+c.collisionHeight-h.height()-h.scrollTop();
                    a.top=h>0?a.top-h:Math.max(a.top-c.collisionPosition.top,a.top)
                }
            },
            flip:{
                left:function(a,c){
                    if(c.at[0]!=="center"){
                        var h=b(window);
                        h=c.collisionPosition.left+c.collisionWidth-h.width()-h.scrollLeft();
                        var i=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,j=c.at[0]==="left"?c.targetWidth:-c.targetWidth,n=-2*c.offset[0];
                        a.left+=
                        c.collisionPosition.left<0?i+j+n:h>0?i+j+n:0
                    }
                },
                top:function(a,c){
                    if(c.at[1]!=="center"){
                        var h=b(window);
                        h=c.collisionPosition.top+c.collisionHeight-h.height()-h.scrollTop();
                        var i=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,j=c.at[1]==="top"?c.targetHeight:-c.targetHeight,n=-2*c.offset[1];
                        a.top+=c.collisionPosition.top<0?i+j+n:h>0?i+j+n:0
                    }
                }
            }
        };

        if(!b.offset.setOffset){
            b.offset.setOffset=function(a,c){
                if(/static/.test(b.curCSS(a,"position")))a.style.position="relative";
                var h=b(a),
                i=h.offset(),j=parseInt(b.curCSS(a,"top",true),10)||0,n=parseInt(b.curCSS(a,"left",true),10)||0;
                i={
                    top:c.top-i.top+j,
                    left:c.left-i.left+n
                };
            
                "using"in c?c.using.call(a,i):h.css(i)
            };
        
            b.fn.offset=function(a){
                var c=this[0];
                if(!c||!c.ownerDocument)return null;
                if(a)return this.each(function(){
                    b.offset.setOffset(this,a)
                });
                return g.call(this)
            }
        }
    })(jQuery);
    (function(b,d){
        b.widget("ui.progressbar",{
            options:{
                value:0,
                max:100
            },
            min:0,
            _create:function(){
                this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({
                    role:"progressbar",
                    "aria-valuemin":this.min,
                    "aria-valuemax":this.options.max,
                    "aria-valuenow":this._value()
                });
                this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);
                this.oldValue=this._value();
                this._refreshValue()
            },
            destroy:function(){
                this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
                this.valueDiv.remove();
                b.Widget.prototype.destroy.apply(this,arguments)
            },
            value:function(e){
                if(e===d)return this._value();
                this._setOption("value",e);
                return this
            },
            _setOption:function(e,f){
                if(e==="value"){
                    this.options.value=f;
                    this._refreshValue();
                    this._value()===this.options.max&&this._trigger("complete")
                }
                b.Widget.prototype._setOption.apply(this,arguments)
            },
            _value:function(){
                var e=this.options.value;
                if(typeof e!=="number")e=0;
                return Math.min(this.options.max,Math.max(this.min,e))
            },
            _percentage:function(){
                return 100*
                this._value()/this.options.max
            },
            _refreshValue:function(){
                var e=this.value(),f=this._percentage();
                if(this.oldValue!==e){
                    this.oldValue=e;
                    this._trigger("change")
                }
                this.valueDiv.toggle(e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(f.toFixed(0)+"%");
                this.element.attr("aria-valuenow",e)
            }
        });
        b.extend(b.ui.progressbar,{
            version:"1.8.12"
        })
    })(jQuery);
    (function(b){
        b.widget("ui.slider",b.ui.mouse,{
            widgetEventPrefix:"slide",
            options:{
                animate:false,
                distance:0,
                max:100,
                min:0,
                orientation:"horizontal",
                range:false,
                step:1,
                value:0,
                values:null
            },
            _create:function(){
                var d=this,e=this.options;
                this._mouseSliding=this._keySliding=false;
                this._animateOff=true;
                this._handleIndex=null;
                this._detectOrientation();
                this._mouseInit();
                this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");
                e.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
                this.range=b([]);
                if(e.range){
                    if(e.range===true){
                        this.range=b("<div></div>");
                        if(!e.values)e.values=[this._valueMin(),this._valueMin()];
                        if(e.values.length&&e.values.length!==2)e.values=[e.values[0],e.values[0]]
                    }else this.range=b("<div></div>");
                    this.range.appendTo(this.element).addClass("ui-slider-range");
                    if(e.range==="min"||e.range==="max")this.range.addClass("ui-slider-range-"+e.range);
                    this.range.addClass("ui-widget-header")
                }
                b(".ui-slider-handle",this.element).length===0&&b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
                if(e.values&&e.values.length)for(;b(".ui-slider-handle",this.element).length<e.values.length;)b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
                this.handles=b(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");
                this.handle=this.handles.eq(0);
                this.handles.add(this.range).filter("a").click(function(f){
                    f.preventDefault()
                }).hover(function(){
                    e.disabled||b(this).addClass("ui-state-hover")
                },function(){
                    b(this).removeClass("ui-state-hover")
                }).focus(function(){
                    if(e.disabled)b(this).blur();
                    else{
                        b(".ui-slider .ui-state-focus").removeClass("ui-state-focus");
                        b(this).addClass("ui-state-focus")
                    }
                }).blur(function(){
                    b(this).removeClass("ui-state-focus")
                });
                this.handles.each(function(f){
                    b(this).data("index.ui-slider-handle",f)
                });
                this.handles.keydown(function(f){
                    var g=true,a=b(this).data("index.ui-slider-handle"),c,h,i;
                    if(!d.options.disabled){
                        switch(f.keyCode){
                            case b.ui.keyCode.HOME:case b.ui.keyCode.END:case b.ui.keyCode.PAGE_UP:case b.ui.keyCode.PAGE_DOWN:case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:
                                g=
                                false;
                                if(!d._keySliding){
                                    d._keySliding=true;
                                    b(this).addClass("ui-state-active");
                                    c=d._start(f,a);
                                    if(c===false)return
                                }
                                break
                        }
                        i=d.options.step;
                        c=d.options.values&&d.options.values.length?(h=d.values(a)):(h=d.value());
                        switch(f.keyCode){
                            case b.ui.keyCode.HOME:
                                h=d._valueMin();
                                break;
                            case b.ui.keyCode.END:
                                h=d._valueMax();
                                break;
                            case b.ui.keyCode.PAGE_UP:
                                h=d._trimAlignValue(c+(d._valueMax()-d._valueMin())/5);
                                break;
                            case b.ui.keyCode.PAGE_DOWN:
                                h=d._trimAlignValue(c-(d._valueMax()-d._valueMin())/5);
                                break;
                            case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:
                                if(c===
                                    d._valueMax())return;
                                h=d._trimAlignValue(c+i);
                                break;
                            case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:
                                if(c===d._valueMin())return;
                                h=d._trimAlignValue(c-i);
                                break
                        }
                        d._slide(f,a,h);
                        return g
                    }
                }).keyup(function(f){
                    var g=b(this).data("index.ui-slider-handle");
                    if(d._keySliding){
                        d._keySliding=false;
                        d._stop(f,g);
                        d._change(f,g);
                        b(this).removeClass("ui-state-active")
                    }
                });
                this._refreshValue();
                this._animateOff=false
            },
            destroy:function(){
                this.handles.remove();
                this.range.remove();
                this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
                this._mouseDestroy();
                return this
            },
            _mouseCapture:function(d){
                var e=this.options,f,g,a,c,h;
                if(e.disabled)return false;
                this.elementSize={
                    width:this.element.outerWidth(),
                    height:this.element.outerHeight()
                };
        
                this.elementOffset=this.element.offset();
                f=this._normValueFromMouse({
                    x:d.pageX,
                    y:d.pageY
                });
                g=this._valueMax()-this._valueMin()+1;
                c=this;
                this.handles.each(function(i){
                    var j=Math.abs(f-c.values(i));
                    if(g>j){
                        g=j;
                        a=b(this);
                        h=i
                    }
                });
                if(e.range===true&&this.values(1)===e.min){
                    h+=1;
                    a=b(this.handles[h])
                }
                if(this._start(d,
                    h)===false)return false;
                this._mouseSliding=true;
                c._handleIndex=h;
                a.addClass("ui-state-active").focus();
                e=a.offset();
                this._clickOffset=!b(d.target).parents().andSelf().is(".ui-slider-handle")?{
                    left:0,
                    top:0
                }:{
                    left:d.pageX-e.left-a.width()/2,
                    top:d.pageY-e.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)
                };
    
                this.handles.hasClass("ui-state-hover")||this._slide(d,h,f);
                return this._animateOff=true
            },
            _mouseStart:function(){
                return true
            },
            _mouseDrag:function(d){
                var e=this._normValueFromMouse({
                    x:d.pageX,
                    y:d.pageY
                });
                this._slide(d,this._handleIndex,e);
                return false
            },
            _mouseStop:function(d){
                this.handles.removeClass("ui-state-active");
                this._mouseSliding=false;
                this._stop(d,this._handleIndex);
                this._change(d,this._handleIndex);
                this._clickOffset=this._handleIndex=null;
                return this._animateOff=false
            },
            _detectOrientation:function(){
                this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"
            },
            _normValueFromMouse:function(d){
                var e;
                if(this.orientation==="horizontal"){
                    e=this.elementSize.width;
                    d=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)
                }else{
                    e=this.elementSize.height;
                    d=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)
                }
                e=d/e;
                if(e>1)e=1;
                if(e<0)e=0;
                if(this.orientation==="vertical")e=1-e;
                d=this._valueMax()-this._valueMin();
                return this._trimAlignValue(this._valueMin()+e*d)
            },
            _start:function(d,e){
                var f={
                    handle:this.handles[e],
                    value:this.value()
                };
        
                if(this.options.values&&this.options.values.length){
                    f.value=
                    this.values(e);
                    f.values=this.values()
                }
                return this._trigger("start",d,f)
            },
            _slide:function(d,e,f){
                var g;
                if(this.options.values&&this.options.values.length){
                    g=this.values(e?0:1);
                    if(this.options.values.length===2&&this.options.range===true&&(e===0&&f>g||e===1&&f<g))f=g;
                    if(f!==this.values(e)){
                        g=this.values();
                        g[e]=f;
                        d=this._trigger("slide",d,{
                            handle:this.handles[e],
                            value:f,
                            values:g
                        });
                        this.values(e?0:1);
                        d!==false&&this.values(e,f,true)
                    }
                }else if(f!==this.value()){
                    d=this._trigger("slide",d,{
                        handle:this.handles[e],
                        value:f
                    });
                    d!==false&&this.value(f)
                }
            },
            _stop:function(d,e){
                var f={
                    handle:this.handles[e],
                    value:this.value()
                };
        
                if(this.options.values&&this.options.values.length){
                    f.value=this.values(e);
                    f.values=this.values()
                }
                this._trigger("stop",d,f)
            },
            _change:function(d,e){
                if(!this._keySliding&&!this._mouseSliding){
                    var f={
                        handle:this.handles[e],
                        value:this.value()
                    };
            
                    if(this.options.values&&this.options.values.length){
                        f.value=this.values(e);
                        f.values=this.values()
                    }
                    this._trigger("change",d,f)
                }
            },
            value:function(d){
                if(arguments.length){
                    this.options.value=
                    this._trimAlignValue(d);
                    this._refreshValue();
                    this._change(null,0)
                }else return this._value()
            },
            values:function(d,e){
                var f,g,a;
                if(arguments.length>1){
                    this.options.values[d]=this._trimAlignValue(e);
                    this._refreshValue();
                    this._change(null,d)
                }else if(arguments.length)if(b.isArray(arguments[0])){
                    f=this.options.values;
                    g=arguments[0];
                    for(a=0;a<f.length;a+=1){
                        f[a]=this._trimAlignValue(g[a]);
                        this._change(null,a)
                    }
                    this._refreshValue()
                }else return this.options.values&&this.options.values.length?this._values(d):
                    this.value();else return this._values()
            },
            _setOption:function(d,e){
                var f,g=0;
                if(b.isArray(this.options.values))g=this.options.values.length;
                b.Widget.prototype._setOption.apply(this,arguments);
                switch(d){
                    case "disabled":
                        if(e){
                            this.handles.filter(".ui-state-focus").blur();
                            this.handles.removeClass("ui-state-hover");
                            this.handles.attr("disabled","disabled");
                            this.element.addClass("ui-disabled")
                        }else{
                            this.handles.removeAttr("disabled");
                            this.element.removeClass("ui-disabled")
                        }
                        break;
                    case "orientation":
                        this._detectOrientation();
                        this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);
                        this._refreshValue();
                        break;
                    case "value":
                        this._animateOff=true;
                        this._refreshValue();
                        this._change(null,0);
                        this._animateOff=false;
                        break;
                    case "values":
                        this._animateOff=true;
                        this._refreshValue();
                        for(f=0;f<g;f+=1)this._change(null,f);
                        this._animateOff=false;
                        break
                }
            },
            _value:function(){
                var d=this.options.value;
                return d=this._trimAlignValue(d)
            },
            _values:function(d){
                var e,f;
                if(arguments.length){
                    e=this.options.values[d];
                    return e=this._trimAlignValue(e)
                }else{
                    e=this.options.values.slice();
                    for(f=0;f<e.length;f+=1)e[f]=this._trimAlignValue(e[f]);
                    return e
                }
            },
            _trimAlignValue:function(d){
                if(d<=this._valueMin())return this._valueMin();
                if(d>=this._valueMax())return this._valueMax();
                var e=this.options.step>0?this.options.step:1,f=(d-this._valueMin())%e;
                alignValue=d-f;
                if(Math.abs(f)*2>=e)alignValue+=f>0?e:-e;
                return parseFloat(alignValue.toFixed(5))
            },
            _valueMin:function(){
                return this.options.min
            },
            _valueMax:function(){
                return this.options.max
            },
            _refreshValue:function(){
                var d=this.options.range,e=this.options,f=this,g=!this._animateOff?e.animate:false,a,c={},h,i,j,n;
                if(this.options.values&&this.options.values.length)this.handles.each(function(o){
                    a=(f.values(o)-f._valueMin())/(f._valueMax()-f._valueMin())*100;
                    c[f.orientation==="horizontal"?"left":"bottom"]=a+"%";
                    b(this).stop(1,1)[g?"animate":"css"](c,e.animate);
                    if(f.options.range===true)if(f.orientation==="horizontal"){
                        if(o===0)f.range.stop(1,1)[g?"animate":"css"]({
                            left:a+"%"
                        },e.animate);
                        if(o===1)f.range[g?"animate":"css"]({
                            width:a-h+"%"
                        },{
                            queue:false,
                            duration:e.animate
                        })
                    }else{
                        if(o===0)f.range.stop(1,1)[g?"animate":"css"]({
                            bottom:a+"%"
                        },e.animate);
                        if(o===1)f.range[g?"animate":"css"]({
                            height:a-h+"%"
                        },{
                            queue:false,
                            duration:e.animate
                        })
                    }
                    h=a
                });
                else{
                    i=this.value();
                    j=this._valueMin();
                    n=this._valueMax();
                    a=n!==j?(i-j)/(n-j)*100:0;
                    c[f.orientation==="horizontal"?"left":"bottom"]=a+"%";
                    this.handle.stop(1,1)[g?"animate":"css"](c,e.animate);
                    if(d==="min"&&this.orientation==="horizontal")this.range.stop(1,
                        1)[g?"animate":"css"]({
                        width:a+"%"
                    },e.animate);
                    if(d==="max"&&this.orientation==="horizontal")this.range[g?"animate":"css"]({
                        width:100-a+"%"
                    },{
                        queue:false,
                        duration:e.animate
                    });
                    if(d==="min"&&this.orientation==="vertical")this.range.stop(1,1)[g?"animate":"css"]({
                        height:a+"%"
                    },e.animate);
                    if(d==="max"&&this.orientation==="vertical")this.range[g?"animate":"css"]({
                        height:100-a+"%"
                    },{
                        queue:false,
                        duration:e.animate
                    })
                }
            }
        });
        b.extend(b.ui.slider,{
            version:"1.8.12"
        })
    })(jQuery);
    (function(b,d){
        function e(){
            return++g
        }
        function f(){
            return++a
        }
        var g=0,a=0;
        b.widget("ui.tabs",{
            options:{
                add:null,
                ajaxOptions:null,
                cache:false,
                cookie:null,
                collapsible:false,
                disable:null,
                disabled:[],
                enable:null,
                event:"click",
                fx:null,
                idPrefix:"ui-tabs-",
                load:null,
                panelTemplate:"<div></div>",
                remove:null,
                select:null,
                show:null,
                spinner:"<em>Loading&#8230;</em>",
                tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"
            },
            _create:function(){
                this._tabify(true)
            },
            _setOption:function(c,h){
                if(c=="selected")this.options.collapsible&&
                    h==this.options.selected||this.select(h);
                else{
                    this.options[c]=h;
                    this._tabify()
                }
            },
            _tabId:function(c){
                return c.title&&c.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()
            },
            _sanitizeSelector:function(c){
                return c.replace(/:/g,"\\:")
            },
            _cookie:function(){
                var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());
                return b.cookie.apply(null,[c].concat(b.makeArray(arguments)))
            },
            _ui:function(c,h){
                return{
                    tab:c,
                    panel:h,
                    index:this.anchors.index(c)
                }
            },
            _cleanup:function(){
                this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){
                    var c=
                    b(this);
                    c.html(c.data("label.tabs")).removeData("label.tabs")
                })
            },
            _tabify:function(c){
                function h(r,u){
                    r.css("display","");
                    !b.support.opacity&&u.opacity&&r[0].style.removeAttribute("filter")
                }
                var i=this,j=this.options,n=/^#.+/;
                this.list=this.element.find("ol,ul").eq(0);
                this.lis=b(" > li:has(a[href])",this.list);
                this.anchors=this.lis.map(function(){
                    return b("a",this)[0]
                });
                this.panels=b([]);
                this.anchors.each(function(r,u){
                    var v=b(u).attr("href"),w=v.split("#")[0],y;
                    if(w&&(w===location.toString().split("#")[0]||
                        (y=b("base")[0])&&w===y.href)){
                        v=u.hash;
                        u.href=v
                    }
                    if(n.test(v))i.panels=i.panels.add(i.element.find(i._sanitizeSelector(v)));
                    else if(v&&v!=="#"){
                        b.data(u,"href.tabs",v);
                        b.data(u,"load.tabs",v.replace(/#.*$/,""));
                        v=i._tabId(u);
                        u.href="#"+v;
                        u=i.element.find("#"+v);
                        if(!u.length){
                            u=b(j.panelTemplate).attr("id",v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(i.panels[r-1]||i.list);
                            u.data("destroy.tabs",true)
                        }
                        i.panels=i.panels.add(u)
                    }else j.disabled.push(r)
                });
                if(c){
                    this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
                    this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");
                    this.lis.addClass("ui-state-default ui-corner-top");
                    this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");
                    if(j.selected===d){
                        location.hash&&this.anchors.each(function(r,u){
                            if(u.hash==location.hash){
                                j.selected=r;
                                return false
                            }
                        });
                        if(typeof j.selected!=="number"&&j.cookie)j.selected=parseInt(i._cookie(),10);
                        if(typeof j.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)j.selected=
                            this.lis.index(this.lis.filter(".ui-tabs-selected"));
                        j.selected=j.selected||(this.lis.length?0:-1)
                    }else if(j.selected===null)j.selected=-1;
                    j.selected=j.selected>=0&&this.anchors[j.selected]||j.selected<0?j.selected:0;
                    j.disabled=b.unique(j.disabled.concat(b.map(this.lis.filter(".ui-state-disabled"),function(r){
                        return i.lis.index(r)
                    }))).sort();
                    b.inArray(j.selected,j.disabled)!=-1&&j.disabled.splice(b.inArray(j.selected,j.disabled),1);
                    this.panels.addClass("ui-tabs-hide");
                    this.lis.removeClass("ui-tabs-selected ui-state-active");
                    if(j.selected>=0&&this.anchors.length){
                        i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash)).removeClass("ui-tabs-hide");
                        this.lis.eq(j.selected).addClass("ui-tabs-selected ui-state-active");
                        i.element.queue("tabs",function(){
                            i._trigger("show",null,i._ui(i.anchors[j.selected],i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash))[0]))
                        });
                        this.load(j.selected)
                    }
                    b(window).bind("unload",function(){
                        i.lis.add(i.anchors).unbind(".tabs");
                        i.lis=i.anchors=i.panels=null
                    })
                }else j.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
                this.element[j.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");
                j.cookie&&this._cookie(j.selected,j.cookie);
                c=0;
                for(var o;o=this.lis[c];c++)b(o)[b.inArray(c,j.disabled)!=-1&&!b(o).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");
                j.cache===false&&this.anchors.removeData("cache.tabs");
                this.lis.add(this.anchors).unbind(".tabs");
                if(j.event!=="mouseover"){
                    var l=function(r,u){
                        u.is(":not(.ui-state-disabled)")&&u.addClass("ui-state-"+r)
                    },k=function(r,u){
                        u.removeClass("ui-state-"+
                            r)
                    };
            
                    this.lis.bind("mouseover.tabs",function(){
                        l("hover",b(this))
                    });
                    this.lis.bind("mouseout.tabs",function(){
                        k("hover",b(this))
                    });
                    this.anchors.bind("focus.tabs",function(){
                        l("focus",b(this).closest("li"))
                    });
                    this.anchors.bind("blur.tabs",function(){
                        k("focus",b(this).closest("li"))
                    })
                }
                var m,p;
                if(j.fx)if(b.isArray(j.fx)){
                    m=j.fx[0];
                    p=j.fx[1]
                }else m=p=j.fx;
                var q=p?function(r,u){
                    b(r).closest("li").addClass("ui-tabs-selected ui-state-active");
                    u.hide().removeClass("ui-tabs-hide").animate(p,p.duration||"normal",
                        function(){
                            h(u,p);
                            i._trigger("show",null,i._ui(r,u[0]))
                        })
                }:function(r,u){
                    b(r).closest("li").addClass("ui-tabs-selected ui-state-active");
                    u.removeClass("ui-tabs-hide");
                    i._trigger("show",null,i._ui(r,u[0]))
                },s=m?function(r,u){
                    u.animate(m,m.duration||"normal",function(){
                        i.lis.removeClass("ui-tabs-selected ui-state-active");
                        u.addClass("ui-tabs-hide");
                        h(u,m);
                        i.element.dequeue("tabs")
                    })
                }:function(r,u){
                    i.lis.removeClass("ui-tabs-selected ui-state-active");
                    u.addClass("ui-tabs-hide");
                    i.element.dequeue("tabs")
                };
                this.anchors.bind(j.event+".tabs",function(){
                    var r=this,u=b(r).closest("li"),v=i.panels.filter(":not(.ui-tabs-hide)"),w=i.element.find(i._sanitizeSelector(r.hash));
                    if(u.hasClass("ui-tabs-selected")&&!j.collapsible||u.hasClass("ui-state-disabled")||u.hasClass("ui-state-processing")||i.panels.filter(":animated").length||i._trigger("select",null,i._ui(this,w[0]))===false){
                        this.blur();
                        return false
                    }
                    j.selected=i.anchors.index(this);
                    i.abort();
                    if(j.collapsible)if(u.hasClass("ui-tabs-selected")){
                        j.selected=
                        -1;
                        j.cookie&&i._cookie(j.selected,j.cookie);
                        i.element.queue("tabs",function(){
                            s(r,v)
                        }).dequeue("tabs");
                        this.blur();
                        return false
                    }else if(!v.length){
                        j.cookie&&i._cookie(j.selected,j.cookie);
                        i.element.queue("tabs",function(){
                            q(r,w)
                        });
                        i.load(i.anchors.index(this));
                        this.blur();
                        return false
                    }
                    j.cookie&&i._cookie(j.selected,j.cookie);
                    if(w.length){
                        v.length&&i.element.queue("tabs",function(){
                            s(r,v)
                        });
                        i.element.queue("tabs",function(){
                            q(r,w)
                        });
                        i.load(i.anchors.index(this))
                    }else throw"jQuery UI Tabs: Mismatching fragment identifier.";
                    b.browser.msie&&this.blur()
                });
                this.anchors.bind("click.tabs",function(){
                    return false
                })
            },
            _getIndex:function(c){
                if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));
                return c
            },
            destroy:function(){
                var c=this.options;
                this.abort();
                this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");
                this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");
                this.anchors.each(function(){
                    var h=
                    b.data(this,"href.tabs");
                    if(h)this.href=h;
                    var i=b(this).unbind(".tabs");
                    b.each(["href","load","cache"],function(j,n){
                        i.removeData(n+".tabs")
                    })
                });
                this.lis.unbind(".tabs").add(this.panels).each(function(){
                    b.data(this,"destroy.tabs")?b(this).remove():b(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")
                });
                c.cookie&&this._cookie(null,c.cookie);
                return this
            },
            add:function(c,
                h,i){
                if(i===d)i=this.anchors.length;
                var j=this,n=this.options;
                h=b(n.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,h));
                c=!c.indexOf("#")?c.replace("#",""):this._tabId(b("a",h)[0]);
                h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);
                var o=j.element.find("#"+c);
                o.length||(o=b(n.panelTemplate).attr("id",c).data("destroy.tabs",true));
                o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");
                if(i>=this.lis.length){
                    h.appendTo(this.list);
                    o.appendTo(this.list[0].parentNode)
                }else{
                    h.insertBefore(this.lis[i]);
                    o.insertBefore(this.panels[i])
                }
                n.disabled=b.map(n.disabled,function(l){
                    return l>=i?++l:l
                });
                this._tabify();
                if(this.anchors.length==1){
                    n.selected=0;
                    h.addClass("ui-tabs-selected ui-state-active");
                    o.removeClass("ui-tabs-hide");
                    this.element.queue("tabs",function(){
                        j._trigger("show",null,j._ui(j.anchors[0],j.panels[0]))
                    });
                    this.load(0)
                }
                this._trigger("add",null,this._ui(this.anchors[i],this.panels[i]));
                return this
            },
            remove:function(c){
                c=this._getIndex(c);
                var h=this.options,i=this.lis.eq(c).remove(),j=this.panels.eq(c).remove();
                if(i.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));
                h.disabled=b.map(b.grep(h.disabled,function(n){
                    return n!=c
                }),function(n){
                    return n>=c?--n:n
                });
                this._tabify();
                this._trigger("remove",null,this._ui(i.find("a")[0],j[0]));
                return this
            },
            enable:function(c){
                c=this._getIndex(c);
                var h=this.options;
                if(b.inArray(c,h.disabled)!=-1){
                    this.lis.eq(c).removeClass("ui-state-disabled");
                    h.disabled=b.grep(h.disabled,function(i){
                        return i!=c
                    });
                    this._trigger("enable",null,
                        this._ui(this.anchors[c],this.panels[c]));
                    return this
                }
            },
            disable:function(c){
                c=this._getIndex(c);
                var h=this.options;
                if(c!=h.selected){
                    this.lis.eq(c).addClass("ui-state-disabled");
                    h.disabled.push(c);
                    h.disabled.sort();
                    this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))
                }
                return this
            },
            select:function(c){
                c=this._getIndex(c);
                if(c==-1)if(this.options.collapsible&&this.options.selected!=-1)c=this.options.selected;else return this;
                this.anchors.eq(c).trigger(this.options.event+".tabs");
                return this
            },
            load:function(c){
                c=this._getIndex(c);
                var h=this,i=this.options,j=this.anchors.eq(c)[0],n=b.data(j,"load.tabs");
                this.abort();
                if(!n||this.element.queue("tabs").length!==0&&b.data(j,"cache.tabs"))this.element.dequeue("tabs");
                else{
                    this.lis.eq(c).addClass("ui-state-processing");
                    if(i.spinner){
                        var o=b("span",j);
                        o.data("label.tabs",o.html()).html(i.spinner)
                    }
                    this.xhr=b.ajax(b.extend({},i.ajaxOptions,{
                        url:n,
                        success:function(l,k){
                            h.element.find(h._sanitizeSelector(j.hash)).html(l);
                            h._cleanup();
                            i.cache&&b.data(j,
                                "cache.tabs",true);
                            h._trigger("load",null,h._ui(h.anchors[c],h.panels[c]));
                            try{
                                i.ajaxOptions.success(l,k)
                            }catch(m){}
                        },
                        error:function(l,k){
                            h._cleanup();
                            h._trigger("load",null,h._ui(h.anchors[c],h.panels[c]));
                            try{
                                i.ajaxOptions.error(l,k,c,j)
                            }catch(m){}
                        }
                    }));
                    h.element.dequeue("tabs");
                    return this
                }
            },
            abort:function(){
                this.element.queue([]);
                this.panels.stop(false,true);
                this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));
                if(this.xhr){
                    this.xhr.abort();
                    delete this.xhr
                }
                this._cleanup();
                return this
            },
            url:function(c,h){
                this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",h);
                return this
            },
            length:function(){
                return this.anchors.length
            }
        });
        b.extend(b.ui.tabs,{
            version:"1.8.12"
        });
        b.extend(b.ui.tabs.prototype,{
            rotation:null,
            rotate:function(c,h){
                var i=this,j=this.options,n=i._rotate||(i._rotate=function(o){
                    clearTimeout(i.rotation);
                    i.rotation=setTimeout(function(){
                        var l=j.selected;
                        i.select(++l<i.anchors.length?l:0)
                    },c);
                    o&&o.stopPropagation()
                });
                h=i._unrotate||(i._unrotate=!h?function(o){
                    o.clientX&&
                    i.rotate(null)
                }:function(){
                    t=j.selected;
                    n()
                });
                if(c){
                    this.element.bind("tabsshow",n);
                    this.anchors.bind(j.event+".tabs",h);
                    n()
                }else{
                    clearTimeout(i.rotation);
                    this.element.unbind("tabsshow",n);
                    this.anchors.unbind(j.event+".tabs",h);
                    delete this._rotate;
                    delete this._unrotate
                }
                return this
            }
        })
    })(jQuery);

    return jQuery;
});